home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 November: Tool Chest / Dev.CD Nov 98 TC.toast / Tool Chest / Development Kits / MPW etc. / MPW-GM / Interfaces&Libraries / Interfaces / CIncludes / QuickTimeComponents.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-02-17  |  140.5 KB  |  3,668 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        QuickTimeComponents.h
  3.  
  4.      Contains:    QuickTime Interfaces.
  5.  
  6.      Version:    Technology:    QuickTime 3.0
  7.                  Release:    Universal Interfaces 3.1
  8.  
  9.      Copyright:    © 1990-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. */
  18. #ifndef __QUICKTIMECOMPONENTS__
  19. #define __QUICKTIMECOMPONENTS__
  20.  
  21. #ifndef __MACTYPES__
  22. #include <MacTypes.h>
  23. #endif
  24. #ifndef __MIXEDMODE__
  25. #include <MixedMode.h>
  26. #endif
  27. #ifndef __COMPONENTS__
  28. #include <Components.h>
  29. #endif
  30. #ifndef __IMAGECOMPRESSION__
  31. #include <ImageCompression.h>
  32. #endif
  33. #ifndef __MOVIES__
  34. #include <Movies.h>
  35. #endif
  36. #ifndef __QUICKDRAW__
  37. #include <Quickdraw.h>
  38. #endif
  39. #ifndef __VIDEO__
  40. #include <Video.h>
  41. #endif
  42. #ifndef __SOUND__
  43. #include <Sound.h>
  44. #endif
  45. #ifndef __QUICKTIMEMUSIC__
  46. #include <QuickTimeMusic.h>
  47. #endif
  48.  
  49.  
  50.  
  51. #if PRAGMA_ONCE
  52. #pragma once
  53. #endif
  54.  
  55. #ifdef __cplusplus
  56. extern "C" {
  57. #endif
  58.  
  59. #if PRAGMA_IMPORT
  60. #pragma import on
  61. #endif
  62.  
  63. #if PRAGMA_STRUCT_ALIGN
  64.     #pragma options align=mac68k
  65. #elif PRAGMA_STRUCT_PACKPUSH
  66.     #pragma pack(push, 2)
  67. #elif PRAGMA_STRUCT_PACK
  68.     #pragma pack(2)
  69. #endif
  70.  
  71.  
  72. enum {
  73.     clockComponentType            = FOUR_CHAR_CODE('clok'),
  74.     systemTickClock                = FOUR_CHAR_CODE('tick'),        /* subtype: 60ths since boot        */
  75.     systemSecondClock            = FOUR_CHAR_CODE('seco'),        /* subtype: seconds since 1904        */
  76.     systemMillisecondClock        = FOUR_CHAR_CODE('mill'),        /* subtype: 1000ths since boot        */
  77.     systemMicrosecondClock        = FOUR_CHAR_CODE('micr')        /* subtype: 1000000ths since boot    */
  78. };
  79.  
  80.  
  81. enum {
  82.     kClockRateIsLinear            = 1,
  83.     kClockImplementsCallBacks    = 2,
  84.     kClockCanHandleIntermittentSound = 4                        /* sound clocks only */
  85. };
  86.  
  87. #if OLDROUTINENAMES
  88. #define GetClockTime(aClock, out) ClockGetTime(aClock, out)
  89. #endif
  90. /** These are Clock procedures **/
  91. EXTERN_API( ComponentResult )
  92. ClockGetTime                    (ComponentInstance         aClock,
  93.                                  TimeRecord *            out)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
  94.  
  95.  
  96. EXTERN_API( QTCallBack )
  97. ClockNewCallBack                (ComponentInstance         aClock,
  98.                                  TimeBase                 tb,
  99.                                  short                     callBackType)                        FIVEWORDINLINE(0x2F3C, 0x0006, 0x0002, 0x7000, 0xA82A);
  100.  
  101. EXTERN_API( ComponentResult )
  102. ClockDisposeCallBack            (ComponentInstance         aClock,
  103.                                  QTCallBack             cb)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
  104.  
  105. EXTERN_API( ComponentResult )
  106. ClockCallMeWhen                    (ComponentInstance         aClock,
  107.                                  QTCallBack             cb,
  108.                                  long                     param1,
  109.                                  long                     param2,
  110.                                  long                     param3)                                FIVEWORDINLINE(0x2F3C, 0x0010, 0x0004, 0x7000, 0xA82A);
  111.  
  112. EXTERN_API( ComponentResult )
  113. ClockCancelCallBack                (ComponentInstance         aClock,
  114.                                  QTCallBack             cb)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0005, 0x7000, 0xA82A);
  115.  
  116. EXTERN_API( ComponentResult )
  117. ClockRateChanged                (ComponentInstance         aClock,
  118.                                  QTCallBack             cb)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0006, 0x7000, 0xA82A);
  119.  
  120. EXTERN_API( ComponentResult )
  121. ClockTimeChanged                (ComponentInstance         aClock,
  122.                                  QTCallBack             cb)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
  123.  
  124. EXTERN_API( ComponentResult )
  125. ClockSetTimeBase                (ComponentInstance         aClock,
  126.                                  TimeBase                 tb)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0008, 0x7000, 0xA82A);
  127.  
  128. EXTERN_API( ComponentResult )
  129. ClockStartStopChanged            (ComponentInstance         aClock,
  130.                                  QTCallBack             cb,
  131.                                  Boolean                 startChanged,
  132.                                  Boolean                 stopChanged)                        FIVEWORDINLINE(0x2F3C, 0x0008, 0x0009, 0x7000, 0xA82A);
  133.  
  134. EXTERN_API( ComponentResult )
  135. ClockGetRate                    (ComponentInstance         aClock,
  136.                                  Fixed *                rate)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x000A, 0x7000, 0xA82A);
  137.  
  138.  
  139.  
  140.  
  141.  
  142. enum {
  143.     StandardCompressionType        = FOUR_CHAR_CODE('scdi'),
  144.     StandardCompressionSubType    = FOUR_CHAR_CODE('imag'),
  145.     StandardCompressionSubTypeSound = FOUR_CHAR_CODE('soun')
  146. };
  147.  
  148.  
  149. typedef CALLBACK_API( Boolean , SCModalFilterProcPtr )(DialogPtr theDialog, EventRecord *theEvent, short *itemHit, long refcon);
  150. typedef CALLBACK_API( short , SCModalHookProcPtr )(DialogPtr theDialog, short itemHit, void *params, long refcon);
  151. typedef STACK_UPP_TYPE(SCModalFilterProcPtr)                     SCModalFilterUPP;
  152. typedef STACK_UPP_TYPE(SCModalHookProcPtr)                         SCModalHookUPP;
  153. /*    Preference flags.*/
  154.  
  155. enum {
  156.     scListEveryCodec            = 1L << 1,
  157.     scAllowZeroFrameRate        = 1L << 2,
  158.     scAllowZeroKeyFrameRate        = 1L << 3,
  159.     scShowBestDepth                = 1L << 4,
  160.     scUseMovableModal            = 1L << 5,
  161.     scDisableFrameRateItem        = 1L << 6
  162. };
  163.  
  164.  
  165. /*    Possible test flags for setting test image.*/
  166.  
  167. enum {
  168.     scPreferCropping            = 1 << 0,
  169.     scPreferScaling                = 1 << 1,
  170.     scPreferScalingAndCropping    = scPreferScaling | scPreferCropping,
  171.     scDontDetermineSettingsFromTestImage = 1 << 2
  172. };
  173.  
  174.  
  175. /*    Dimensions of the image preview box.*/
  176.  
  177. enum {
  178.     scTestImageWidth            = 80,
  179.     scTestImageHeight            = 80
  180. };
  181.  
  182. /*    Possible items returned by hookProc.*/
  183.  
  184. enum {
  185.     scOKItem                    = 1,
  186.     scCancelItem                = 2,
  187.     scCustomItem                = 3
  188. };
  189.  
  190. /*    Result returned when user cancelled.*/
  191.  
  192. enum {
  193.     scUserCancelled                = 1
  194. };
  195.  
  196.  
  197.  
  198. /* Component selectors*/
  199.  
  200. enum {
  201.     scPositionRect                = 2,
  202.     scPositionDialog            = 3,
  203.     scSetTestImagePictHandle    = 4,
  204.     scSetTestImagePictFile        = 5,
  205.     scSetTestImagePixMap        = 6,
  206.     scGetBestDeviceRect            = 7,
  207.     scRequestImageSettings        = 10,
  208.     scCompressImage                = 11,
  209.     scCompressPicture            = 12,
  210.     scCompressPictureFile        = 13,
  211.     scRequestSequenceSettings    = 14,
  212.     scCompressSequenceBegin        = 15,
  213.     scCompressSequenceFrame        = 16,
  214.     scCompressSequenceEnd        = 17,
  215.     scDefaultPictHandleSettings    = 18,
  216.     scDefaultPictFileSettings    = 19,
  217.     scDefaultPixMapSettings        = 20,
  218.     scGetInfo                    = 21,
  219.     scSetInfo                    = 22,
  220.     scNewGWorld                    = 23
  221. };
  222.  
  223. /*    Get/SetInfo structures.*/
  224.  
  225.  
  226. struct SCSpatialSettings {
  227.     CodecType                         codecType;
  228.     CodecComponent                     codec;
  229.     short                             depth;
  230.     CodecQ                             spatialQuality;
  231. };
  232. typedef struct SCSpatialSettings        SCSpatialSettings;
  233.  
  234. struct SCTemporalSettings {
  235.     CodecQ                             temporalQuality;
  236.     Fixed                             frameRate;
  237.     long                             keyFrameRate;
  238. };
  239. typedef struct SCTemporalSettings        SCTemporalSettings;
  240.  
  241. struct SCDataRateSettings {
  242.     long                             dataRate;
  243.     long                             frameDuration;
  244.     CodecQ                             minSpatialQuality;
  245.     CodecQ                             minTemporalQuality;
  246. };
  247. typedef struct SCDataRateSettings        SCDataRateSettings;
  248.  
  249. struct SCExtendedProcs {
  250.     SCModalFilterUPP                 filterProc;
  251.     SCModalHookUPP                     hookProc;
  252.     long                             refcon;
  253.     Str31                             customName;
  254. };
  255. typedef struct SCExtendedProcs            SCExtendedProcs;
  256. /*    Get/SetInfo selectors*/
  257.  
  258. enum {
  259.     scSpatialSettingsType        = FOUR_CHAR_CODE('sptl'),        /* pointer to SCSpatialSettings struct*/
  260.     scTemporalSettingsType        = FOUR_CHAR_CODE('tprl'),        /* pointer to SCTemporalSettings struct*/
  261.     scDataRateSettingsType        = FOUR_CHAR_CODE('drat'),        /* pointer to SCDataRateSettings struct*/
  262.     scColorTableType            = FOUR_CHAR_CODE('clut'),        /* pointer to CTabHandle*/
  263.     scProgressProcType            = FOUR_CHAR_CODE('prog'),        /* pointer to ProgressRecord struct*/
  264.     scExtendedProcsType            = FOUR_CHAR_CODE('xprc'),        /* pointer to SCExtendedProcs struct*/
  265.     scPreferenceFlagsType        = FOUR_CHAR_CODE('pref'),        /* pointer to long*/
  266.     scSettingsStateType            = FOUR_CHAR_CODE('ssta'),        /* pointer to Handle*/
  267.     scSequenceIDType            = FOUR_CHAR_CODE('sequ'),        /* pointer to ImageSequence*/
  268.     scWindowPositionType        = FOUR_CHAR_CODE('wndw'),        /* pointer to Point*/
  269.     scCodecFlagsType            = FOUR_CHAR_CODE('cflg'),        /* pointer to CodecFlags*/
  270.     scCodecSettingsType            = FOUR_CHAR_CODE('cdec'),        /* pointer to Handle*/
  271.     scForceKeyValueType            = FOUR_CHAR_CODE('ksim'),        /* pointer to long*/
  272.     scSoundSampleRateType        = FOUR_CHAR_CODE('ssrt'),        /* pointer to UnsignedFixed*/
  273.     scSoundSampleSizeType        = FOUR_CHAR_CODE('ssss'),        /* pointer to short*/
  274.     scSoundChannelCountType        = FOUR_CHAR_CODE('sscc'),        /* pointer to short*/
  275.     scSoundCompressionType        = FOUR_CHAR_CODE('ssct'),        /* pointer to OSType*/
  276.     scCompressionListType        = FOUR_CHAR_CODE('ctyl')        /* pointer to OSType Handle*/
  277. };
  278.  
  279. /*    scTypeNotFoundErr returned by Get/SetInfo when type cannot be found.*/
  280.  
  281.  
  282.  
  283. struct SCParams {
  284.     long                             flags;
  285.     CodecType                         theCodecType;
  286.     CodecComponent                     theCodec;
  287.     CodecQ                             spatialQuality;
  288.     CodecQ                             temporalQuality;
  289.     short                             depth;
  290.     Fixed                             frameRate;
  291.     long                             keyFrameRate;
  292.     long                             reserved1;
  293.     long                             reserved2;
  294. };
  295. typedef struct SCParams                    SCParams;
  296.  
  297. enum {
  298.     scGetCompression            = 1,
  299.     scShowMotionSettings        = 1L << 0,
  300.     scSettingsChangedItem        = -1
  301. };
  302.  
  303.  
  304. enum {
  305.     scCompressFlagIgnoreIdenticalFrames = 1
  306. };
  307.  
  308. /* QTAtomTypes for atoms found in settings atom containers*/
  309.  
  310. enum {
  311.     kQTSettingsVideo            = FOUR_CHAR_CODE('vide'),        /* Container for video/image compression related atoms (Get/SetInfo selectors)*/
  312.     kQTSettingsSound            = FOUR_CHAR_CODE('soun')        /* Container for sound compression related atoms (Get/SetInfo selectors)*/
  313. };
  314.  
  315.  
  316. #define SCGetCompression(ci, params, where) SCGetCompressionExtended(ci,params,where,0,0,0,0)
  317. /** These are Progress procedures **/
  318. EXTERN_API( ComponentResult )
  319. SCGetCompressionExtended        (ComponentInstance         ci,
  320.                                  SCParams *                params,
  321.                                  Point                     where,
  322.                                  SCModalFilterUPP         filterProc,
  323.                                  SCModalHookUPP         hookProc,
  324.                                  long                     refcon,
  325.                                  StringPtr                 customName)                            FIVEWORDINLINE(0x2F3C, 0x0018, 0x0001, 0x7000, 0xA82A);
  326.  
  327. EXTERN_API( ComponentResult )
  328. SCPositionRect                    (ComponentInstance         ci,
  329.                                  Rect *                    rp,
  330.                                  Point *                where)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x0002, 0x7000, 0xA82A);
  331.  
  332. EXTERN_API( ComponentResult )
  333. SCPositionDialog                (ComponentInstance         ci,
  334.                                  short                     id,
  335.                                  Point *                where)                                FIVEWORDINLINE(0x2F3C, 0x0006, 0x0003, 0x7000, 0xA82A);
  336.  
  337. EXTERN_API( ComponentResult )
  338. SCSetTestImagePictHandle        (ComponentInstance         ci,
  339.                                  PicHandle                 testPict,
  340.                                  Rect *                    testRect,
  341.                                  short                     testFlags)                            FIVEWORDINLINE(0x2F3C, 0x000A, 0x0004, 0x7000, 0xA82A);
  342.  
  343. EXTERN_API( ComponentResult )
  344. SCSetTestImagePictFile            (ComponentInstance         ci,
  345.                                  short                     testFileRef,
  346.                                  Rect *                    testRect,
  347.                                  short                     testFlags)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0005, 0x7000, 0xA82A);
  348.  
  349. EXTERN_API( ComponentResult )
  350. SCSetTestImagePixMap            (ComponentInstance         ci,
  351.                                  PixMapHandle             testPixMap,
  352.                                  Rect *                    testRect,
  353.                                  short                     testFlags)                            FIVEWORDINLINE(0x2F3C, 0x000A, 0x0006, 0x7000, 0xA82A);
  354.  
  355. EXTERN_API( ComponentResult )
  356. SCGetBestDeviceRect                (ComponentInstance         ci,
  357.                                  Rect *                    r)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
  358.  
  359.  
  360. EXTERN_API( ComponentResult )
  361. SCRequestImageSettings            (ComponentInstance         ci)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x000A, 0x7000, 0xA82A);
  362.  
  363. EXTERN_API( ComponentResult )
  364. SCCompressImage                    (ComponentInstance         ci,
  365.                                  PixMapHandle             src,
  366.                                  const Rect *            srcRect,
  367.                                  ImageDescriptionHandle * desc,
  368.                                  Handle *                data)                                FIVEWORDINLINE(0x2F3C, 0x0010, 0x000B, 0x7000, 0xA82A);
  369.  
  370. EXTERN_API( ComponentResult )
  371. SCCompressPicture                (ComponentInstance         ci,
  372.                                  PicHandle                 srcPicture,
  373.                                  PicHandle                 dstPicture)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x000C, 0x7000, 0xA82A);
  374.  
  375. EXTERN_API( ComponentResult )
  376. SCCompressPictureFile            (ComponentInstance         ci,
  377.                                  short                     srcRefNum,
  378.                                  short                     dstRefNum)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
  379.  
  380. EXTERN_API( ComponentResult )
  381. SCRequestSequenceSettings        (ComponentInstance         ci)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x000E, 0x7000, 0xA82A);
  382.  
  383. EXTERN_API( ComponentResult )
  384. SCCompressSequenceBegin            (ComponentInstance         ci,
  385.                                  PixMapHandle             src,
  386.                                  const Rect *            srcRect,
  387.                                  ImageDescriptionHandle * desc)                                FIVEWORDINLINE(0x2F3C, 0x000C, 0x000F, 0x7000, 0xA82A);
  388.  
  389. EXTERN_API( ComponentResult )
  390. SCCompressSequenceFrame            (ComponentInstance         ci,
  391.                                  PixMapHandle             src,
  392.                                  const Rect *            srcRect,
  393.                                  Handle *                data,
  394.                                  long *                    dataSize,
  395.                                  short *                notSyncFlag)                        FIVEWORDINLINE(0x2F3C, 0x0014, 0x0010, 0x7000, 0xA82A);
  396.  
  397. EXTERN_API( ComponentResult )
  398. SCCompressSequenceEnd            (ComponentInstance         ci)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x0011, 0x7000, 0xA82A);
  399.  
  400. EXTERN_API( ComponentResult )
  401. SCDefaultPictHandleSettings        (ComponentInstance         ci,
  402.                                  PicHandle                 srcPicture,
  403.                                  short                     motion)                                FIVEWORDINLINE(0x2F3C, 0x0006, 0x0012, 0x7000, 0xA82A);
  404.  
  405. EXTERN_API( ComponentResult )
  406. SCDefaultPictFileSettings        (ComponentInstance         ci,
  407.                                  short                     srcRef,
  408.                                  short                     motion)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0013, 0x7000, 0xA82A);
  409.  
  410. EXTERN_API( ComponentResult )
  411. SCDefaultPixMapSettings            (ComponentInstance         ci,
  412.                                  PixMapHandle             src,
  413.                                  short                     motion)                                FIVEWORDINLINE(0x2F3C, 0x0006, 0x0014, 0x7000, 0xA82A);
  414.  
  415. EXTERN_API( ComponentResult )
  416. SCGetInfo                        (ComponentInstance         ci,
  417.                                  OSType                 infoType,
  418.                                  void *                    info)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x0015, 0x7000, 0xA82A);
  419.  
  420. EXTERN_API( ComponentResult )
  421. SCSetInfo                        (ComponentInstance         ci,
  422.                                  OSType                 infoType,
  423.                                  void *                    info)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x0016, 0x7000, 0xA82A);
  424.  
  425. EXTERN_API( ComponentResult )
  426. SCNewGWorld                        (ComponentInstance         ci,
  427.                                  GWorldPtr *            gwp,
  428.                                  Rect *                    rp,
  429.                                  GWorldFlags             flags)                                FIVEWORDINLINE(0x2F3C, 0x000C, 0x0017, 0x7000, 0xA82A);
  430.  
  431. EXTERN_API( ComponentResult )
  432. SCSetCompressFlags                (ComponentInstance         ci,
  433.                                  long                     flags)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0018, 0x7000, 0xA82A);
  434.  
  435. EXTERN_API( ComponentResult )
  436. SCGetCompressFlags                (ComponentInstance         ci,
  437.                                  long *                    flags)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0019, 0x7000, 0xA82A);
  438.  
  439. EXTERN_API( ComponentResult )
  440. SCGetSettingsAsText                (ComponentInstance         ci,
  441.                                  Handle *                text)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x001A, 0x7000, 0xA82A);
  442.  
  443. EXTERN_API( ComponentResult )
  444. SCGetSettingsAsAtomContainer    (ComponentInstance         ci,
  445.                                  QTAtomContainer *        settings)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x001B, 0x7000, 0xA82A);
  446.  
  447. EXTERN_API( ComponentResult )
  448. SCSetSettingsFromAtomContainer    (ComponentInstance         ci,
  449.                                  QTAtomContainer         settings)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x001C, 0x7000, 0xA82A);
  450.  
  451.  
  452.  
  453.  
  454.  
  455. enum {
  456.     TweenComponentType            = FOUR_CHAR_CODE('twen')
  457. };
  458.  
  459.  
  460. typedef ComponentInstance                 TweenerComponent;
  461. typedef struct TweenRecord                 TweenRecord;
  462. typedef CALLBACK_API( ComponentResult , TweenerDataProcPtr )(TweenRecord *tr, void *tweenData, long tweenDataSize, long dataDescriptionSeed, Handle dataDescription, ICMCompletionProcRecordPtr asyncCompletionProc, UniversalProcPtr transferProc, void *refCon);
  463. typedef STACK_UPP_TYPE(TweenerDataProcPtr)                         TweenerDataUPP;
  464.  
  465. struct TweenRecord {
  466.     long                             version;
  467.  
  468.     QTAtomContainer                 container;
  469.     QTAtom                             tweenAtom;
  470.     QTAtom                             dataAtom;
  471.     Fixed                             percent;
  472.  
  473.     TweenerDataUPP                     dataProc;
  474.  
  475.     void *                            private1;
  476.     void *                            private2;
  477. };
  478.  
  479.  
  480. struct TweenV1Record {
  481.     long                             version;
  482.  
  483.     QTAtomContainer                 container;
  484.     QTAtom                             tweenAtom;
  485.     QTAtom                             dataAtom;
  486.     Fixed                             percent;
  487.  
  488.     TweenerDataUPP                     dataProc;
  489.  
  490.     void *                            private1;
  491.     void *                            private2;
  492.  
  493.     Fract                             fractPercent;
  494. };
  495. typedef struct TweenV1Record            TweenV1Record;
  496. EXTERN_API( ComponentResult )
  497. TweenerInitialize                (TweenerComponent         tc,
  498.                                  QTAtomContainer         container,
  499.                                  QTAtom                 tweenAtom,
  500.                                  QTAtom                 dataAtom)                            FIVEWORDINLINE(0x2F3C, 0x000C, 0x0001, 0x7000, 0xA82A);
  501.  
  502. EXTERN_API( ComponentResult )
  503. TweenerDoTween                    (TweenerComponent         tc,
  504.                                  TweenRecord *            tr)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0002, 0x7000, 0xA82A);
  505.  
  506. EXTERN_API( ComponentResult )
  507. TweenerReset                    (TweenerComponent         tc)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x0003, 0x7000, 0xA82A);
  508.  
  509.  
  510.  
  511.  
  512. enum {
  513.     TCSourceRefNameType            = FOUR_CHAR_CODE('name')
  514. };
  515.  
  516.  
  517. enum {
  518.     tcDropFrame                    = 1 << 0,
  519.     tc24HourMax                    = 1 << 1,
  520.     tcNegTimesOK                = 1 << 2,
  521.     tcCounter                    = 1 << 3
  522. };
  523.  
  524.  
  525. struct TimeCodeDef {
  526.     long                             flags;                        /* drop-frame, etc.*/
  527.     TimeScale                         fTimeScale;                    /* time scale of frameDuration (eg. 2997)*/
  528.     TimeValue                         frameDuration;                /* duration of each frame (eg. 100)*/
  529.     UInt8                             numFrames;                    /* frames/sec for timecode (eg. 30) OR frames/tick for counter mode*/
  530.     UInt8                             padding;                    /* unused padding byte*/
  531. };
  532. typedef struct TimeCodeDef                TimeCodeDef;
  533.  
  534. enum {
  535.     tctNegFlag                    = 0x80                            /* negative bit is in minutes*/
  536. };
  537.  
  538.  
  539. struct TimeCodeTime {
  540.     UInt8                             hours;
  541.     UInt8                             minutes;
  542.     UInt8                             seconds;
  543.     UInt8                             frames;
  544. };
  545. typedef struct TimeCodeTime                TimeCodeTime;
  546.  
  547. struct TimeCodeCounter {
  548.     long                             counter;
  549. };
  550. typedef struct TimeCodeCounter            TimeCodeCounter;
  551.  
  552. union TimeCodeRecord {
  553.     TimeCodeTime                     t;
  554.     TimeCodeCounter                 c;
  555. };
  556. typedef union TimeCodeRecord            TimeCodeRecord;
  557.  
  558. struct TimeCodeDescription {
  559.     long                             descSize;                    /* standard sample description header*/
  560.     long                             dataFormat;
  561.     long                             resvd1;
  562.     short                             resvd2;
  563.     short                             dataRefIndex;
  564.     long                             flags;                        /* timecode specific stuff*/
  565.     TimeCodeDef                     timeCodeDef;
  566.     long                             srcRef[1];
  567. };
  568. typedef struct TimeCodeDescription        TimeCodeDescription;
  569. typedef TimeCodeDescription *            TimeCodeDescriptionPtr;
  570. typedef TimeCodeDescriptionPtr *        TimeCodeDescriptionHandle;
  571.  
  572. enum {
  573.     tcdfShowTimeCode            = 1 << 0
  574. };
  575.  
  576.  
  577.  
  578. struct TCTextOptions {
  579.     short                             txFont;
  580.     short                             txFace;
  581.     short                             txSize;
  582.     short                             pad;                        /* let's make it longword aligned - thanks.. */
  583.     RGBColor                         foreColor;
  584.     RGBColor                         backColor;
  585. };
  586. typedef struct TCTextOptions            TCTextOptions;
  587. typedef TCTextOptions *                    TCTextOptionsPtr;
  588. EXTERN_API( HandlerError )
  589. TCGetCurrentTimeCode            (MediaHandler             mh,
  590.                                  long *                    frameNum,
  591.                                  TimeCodeDef *            tcdef,
  592.                                  TimeCodeRecord *        tcrec,
  593.                                  UserData *                srcRefH)                            FIVEWORDINLINE(0x2F3C, 0x0010, 0x0101, 0x7000, 0xA82A);
  594.  
  595. EXTERN_API( HandlerError )
  596. TCGetTimeCodeAtTime                (MediaHandler             mh,
  597.                                  TimeValue                 mediaTime,
  598.                                  long *                    frameNum,
  599.                                  TimeCodeDef *            tcdef,
  600.                                  TimeCodeRecord *        tcdata,
  601.                                  UserData *                srcRefH)                            FIVEWORDINLINE(0x2F3C, 0x0014, 0x0102, 0x7000, 0xA82A);
  602.  
  603. EXTERN_API( HandlerError )
  604. TCTimeCodeToString                (MediaHandler             mh,
  605.                                  TimeCodeDef *            tcdef,
  606.                                  TimeCodeRecord *        tcrec,
  607.                                  StringPtr                 tcStr)                                FIVEWORDINLINE(0x2F3C, 0x000C, 0x0103, 0x7000, 0xA82A);
  608.  
  609. EXTERN_API( HandlerError )
  610. TCTimeCodeToFrameNumber            (MediaHandler             mh,
  611.                                  TimeCodeDef *            tcdef,
  612.                                  TimeCodeRecord *        tcrec,
  613.                                  long *                    frameNumber)                        FIVEWORDINLINE(0x2F3C, 0x000C, 0x0104, 0x7000, 0xA82A);
  614.  
  615. EXTERN_API( HandlerError )
  616. TCFrameNumberToTimeCode            (MediaHandler             mh,
  617.                                  long                     frameNumber,
  618.                                  TimeCodeDef *            tcdef,
  619.                                  TimeCodeRecord *        tcrec)                                FIVEWORDINLINE(0x2F3C, 0x000C, 0x0105, 0x7000, 0xA82A);
  620.  
  621. EXTERN_API( HandlerError )
  622. TCGetSourceRef                    (MediaHandler             mh,
  623.                                  TimeCodeDescriptionHandle  tcdH,
  624.                                  UserData *                srefH)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x0106, 0x7000, 0xA82A);
  625.  
  626. EXTERN_API( HandlerError )
  627. TCSetSourceRef                    (MediaHandler             mh,
  628.                                  TimeCodeDescriptionHandle  tcdH,
  629.                                  UserData                 srefH)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x0107, 0x7000, 0xA82A);
  630.  
  631. EXTERN_API( HandlerError )
  632. TCSetTimeCodeFlags                (MediaHandler             mh,
  633.                                  long                     flags,
  634.                                  long                     flagsMask)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0108, 0x7000, 0xA82A);
  635.  
  636. EXTERN_API( HandlerError )
  637. TCGetTimeCodeFlags                (MediaHandler             mh,
  638.                                  long *                    flags)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0109, 0x7000, 0xA82A);
  639.  
  640. EXTERN_API( HandlerError )
  641. TCSetDisplayOptions                (MediaHandler             mh,
  642.                                  TCTextOptionsPtr         textOptions)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x010A, 0x7000, 0xA82A);
  643.  
  644. EXTERN_API( HandlerError )
  645. TCGetDisplayOptions                (MediaHandler             mh,
  646.                                  TCTextOptionsPtr         textOptions)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x010B, 0x7000, 0xA82A);
  647.  
  648.  
  649.  
  650.  
  651. typedef ComponentInstance                 MovieImportComponent;
  652. typedef ComponentInstance                 MovieExportComponent;
  653.  
  654. enum {
  655.     MovieImportType                = FOUR_CHAR_CODE('eat '),
  656.     MovieExportType                = FOUR_CHAR_CODE('spit')
  657. };
  658.  
  659.  
  660. enum {
  661.     canMovieImportHandles        = 1 << 0,
  662.     canMovieImportFiles            = 1 << 1,
  663.     hasMovieImportUserInterface    = 1 << 2,
  664.     canMovieExportHandles        = 1 << 3,
  665.     canMovieExportFiles            = 1 << 4,
  666.     hasMovieExportUserInterface    = 1 << 5,
  667.     dontAutoFileMovieImport        = 1 << 6,
  668.     canMovieExportAuxDataHandle    = 1 << 7,
  669.     canMovieImportValidateHandles = 1 << 8,
  670.     canMovieImportValidateFile    = 1 << 9,
  671.     dontRegisterWithEasyOpen    = 1 << 10,
  672.     canMovieImportInPlace        = 1 << 11,
  673.     movieImportSubTypeIsFileExtension = 1 << 12,
  674.     canMovieImportPartial        = 1 << 13,
  675.     hasMovieImportMIMEList        = 1 << 14,
  676.     canMovieExportFromProcedures = 1 << 15,
  677.     canMovieExportValidateMovie    = 1L << 16,
  678.     movieExportNeedsResourceFork = 1L << 17,
  679.     canMovieImportDataReferences = 1L << 18,
  680.     movieExportMustGetSourceMediaType = 1L << 19,
  681.     reservedForUseByGraphicsImporters = 1L << 23
  682. };
  683.  
  684.  
  685. enum {
  686.     movieImportCreateTrack        = 1,
  687.     movieImportInParallel        = 2,
  688.     movieImportMustUseTrack        = 4
  689. };
  690.  
  691.  
  692. enum {
  693.     movieImportResultUsedMultipleTracks = 8
  694. };
  695.  
  696.  
  697. enum {
  698.     kMovieExportTextOnly        = 0,
  699.     kMovieExportAbsoluteTime    = 1,
  700.     kMovieExportRelativeTime    = 2
  701. };
  702.  
  703.  
  704. enum {
  705.     kMIDIImportSilenceBefore    = 1 << 0,
  706.     kMIDIImportSilenceAfter        = 1 << 1,
  707.     kMIDIImport20Playable        = 1 << 2,
  708.     kMIDIImportWantLyrics        = 1 << 3
  709. };
  710.  
  711.  
  712. enum {
  713.     kMimeInfoMimeTypeTag        = FOUR_CHAR_CODE('mime'),
  714.     kMimeInfoFileExtensionTag    = FOUR_CHAR_CODE('ext '),
  715.     kMimeInfoDescriptionTag        = FOUR_CHAR_CODE('desc')
  716. };
  717.  
  718.  
  719. enum {
  720.     kQTFileTypeAIFF                = FOUR_CHAR_CODE('AIFF'),
  721.     kQTFileTypeAIFC                = FOUR_CHAR_CODE('AIFC'),
  722.     kQTFileTypeDVC                = FOUR_CHAR_CODE('dvc!'),
  723.     kQTFileTypeMIDI                = FOUR_CHAR_CODE('Midi'),
  724.     kQTFileTypePicture            = FOUR_CHAR_CODE('PICT'),
  725.     kQTFileTypeMovie            = FOUR_CHAR_CODE('MooV'),
  726.     kQTFileTypeText                = FOUR_CHAR_CODE('TEXT'),
  727.     kQTFileTypeWave                = FOUR_CHAR_CODE('WAVE'),
  728.     kQTFileTypeSystemSevenSound    = FOUR_CHAR_CODE('sfil'),
  729.     kQTFileTypeMuLaw            = FOUR_CHAR_CODE('ULAW'),
  730.     kQTFileTypeAVI                = FOUR_CHAR_CODE('VfW '),
  731.     kQTFileTypeSoundDesignerII    = FOUR_CHAR_CODE('Sd2f'),
  732.     kQTFileTypeAudioCDTrack        = FOUR_CHAR_CODE('trak'),
  733.     kQTFileTypePICS                = FOUR_CHAR_CODE('PICS'),
  734.     kQTFileTypeGIF                = FOUR_CHAR_CODE('GIFf'),
  735.     kQTFileTypePhotoShop        = FOUR_CHAR_CODE('8BPS'),
  736.     kQTFileTypeSGIImage            = FOUR_CHAR_CODE('.SGI'),
  737.     kQTFileTypeBMP                = FOUR_CHAR_CODE('BMPf'),
  738.     kQTFileTypeJPEG                = FOUR_CHAR_CODE('JPEG'),
  739.     kQTFileTypeJFIF                = FOUR_CHAR_CODE('JPEG'),
  740.     kQTFileTypeMacPaint            = FOUR_CHAR_CODE('PNTG'),
  741.     kQTFileTypeTargaImage        = FOUR_CHAR_CODE('TPIC'),
  742.     kQTFileTypeQuickDrawGXPicture = FOUR_CHAR_CODE('qdgx'),
  743.     kQTFileTypeQuickTimeImage    = FOUR_CHAR_CODE('qtif'),
  744.     kQTFileType3DMF                = FOUR_CHAR_CODE('3DMF')
  745. };
  746.  
  747. /* QTAtomTypes for atoms in import/export settings containers*/
  748.  
  749. enum {
  750.     kQTSettingsEffect            = FOUR_CHAR_CODE('effe'),        /* Parent atom whose contents are atoms of an effects description*/
  751.     kQTSettingsMIDI                = FOUR_CHAR_CODE('MIDI'),        /* MIDI import related container*/
  752.     kQTSettingsMIDISettingFlags    = FOUR_CHAR_CODE('sttg'),        /* MIDI import settings    (UInt32)*/
  753.     kQTSettingsText                = FOUR_CHAR_CODE('text'),        /* Text related container*/
  754.     kQTSettingsTextDescription    = FOUR_CHAR_CODE('desc'),        /* Text settings (TextDescription record)*/
  755.     kQTSettingsTextSize            = FOUR_CHAR_CODE('size'),        /* Width/height to create (FixedPoint)*/
  756.     kQTSettingsTextSettingFlags    = FOUR_CHAR_CODE('sttg'),        /* Text export settings (UInt32)*/
  757.     kQTSettingsTextTimeFraction    = FOUR_CHAR_CODE('timf'),        /* Movie time fraction for export (UInt32)*/
  758.     kQTSettingsTime                = FOUR_CHAR_CODE('time'),        /* Time related container*/
  759.     kQTSettingsAudioCDTrack        = FOUR_CHAR_CODE('trak'),        /* Audio CD track related container*/
  760.     kQTSettingsAudioCDTrackRateShift = FOUR_CHAR_CODE('rshf')    /* Rate shift to be performed (SInt16)*/
  761. };
  762.  
  763.  
  764.  
  765.  
  766.  
  767. struct MovieExportGetDataParams {
  768.     long                             recordSize;
  769.  
  770.     long                             trackID;
  771.  
  772.     TimeScale                         sourceTimeScale;
  773.     TimeValue                         requestedTime;
  774.     TimeValue                         actualTime;
  775.  
  776.     Ptr                             dataPtr;
  777.     long                             dataSize;
  778.  
  779.     SampleDescriptionHandle         desc;
  780.     OSType                             descType;
  781.     long                             descSeed;
  782.  
  783.     long                             requestedSampleCount;
  784.     long                             actualSampleCount;
  785.     TimeValue                         durationPerSample;
  786.     long                             sampleFlags;
  787. };
  788. typedef struct MovieExportGetDataParams    MovieExportGetDataParams;
  789. typedef CALLBACK_API( OSErr , MovieExportGetDataProcPtr )(void *refCon, MovieExportGetDataParams *params);
  790. typedef CALLBACK_API( OSErr , MovieExportGetPropertyProcPtr )(void *refcon, long trackID, OSType propertyType, void *propertyValue);
  791. typedef STACK_UPP_TYPE(MovieExportGetDataProcPtr)                 MovieExportGetDataUPP;
  792. typedef STACK_UPP_TYPE(MovieExportGetPropertyProcPtr)             MovieExportGetPropertyUPP;
  793. enum { uppSCModalFilterProcInfo = 0x00003FD0 };                 /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
  794. enum { uppSCModalHookProcInfo = 0x00003EE0 };                     /* pascal 2_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes) */
  795. enum { uppTweenerDataProcInfo = 0x003FFFF0 };                     /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
  796. enum { uppMovieExportGetDataProcInfo = 0x000003E0 };             /* pascal 2_bytes Func(4_bytes, 4_bytes) */
  797. enum { uppMovieExportGetPropertyProcInfo = 0x00003FE0 };         /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
  798. #define NewSCModalFilterProc(userRoutine)                         (SCModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCModalFilterProcInfo, GetCurrentArchitecture())
  799. #define NewSCModalHookProc(userRoutine)                         (SCModalHookUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSCModalHookProcInfo, GetCurrentArchitecture())
  800. #define NewTweenerDataProc(userRoutine)                         (TweenerDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppTweenerDataProcInfo, GetCurrentArchitecture())
  801. #define NewMovieExportGetDataProc(userRoutine)                     (MovieExportGetDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieExportGetDataProcInfo, GetCurrentArchitecture())
  802. #define NewMovieExportGetPropertyProc(userRoutine)                 (MovieExportGetPropertyUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppMovieExportGetPropertyProcInfo, GetCurrentArchitecture())
  803. #define CallSCModalFilterProc(userRoutine, theDialog, theEvent, itemHit, refcon)  CALL_FOUR_PARAMETER_UPP((userRoutine), uppSCModalFilterProcInfo, (theDialog), (theEvent), (itemHit), (refcon))
  804. #define CallSCModalHookProc(userRoutine, theDialog, itemHit, params, refcon)  CALL_FOUR_PARAMETER_UPP((userRoutine), uppSCModalHookProcInfo, (theDialog), (itemHit), (params), (refcon))
  805. #define CallTweenerDataProc(userRoutine, tr, tweenData, tweenDataSize, dataDescriptionSeed, dataDescription, asyncCompletionProc, transferProc, refCon)  CALL_EIGHT_PARAMETER_UPP((userRoutine), uppTweenerDataProcInfo, (tr), (tweenData), (tweenDataSize), (dataDescriptionSeed), (dataDescription), (asyncCompletionProc), (transferProc), (refCon))
  806. #define CallMovieExportGetDataProc(userRoutine, refCon, params)  CALL_TWO_PARAMETER_UPP((userRoutine), uppMovieExportGetDataProcInfo, (refCon), (params))
  807. #define CallMovieExportGetPropertyProc(userRoutine, refcon, trackID, propertyType, propertyValue)  CALL_FOUR_PARAMETER_UPP((userRoutine), uppMovieExportGetPropertyProcInfo, (refcon), (trackID), (propertyType), (propertyValue))
  808. EXTERN_API( ComponentResult )
  809. MovieImportHandle                (MovieImportComponent     ci,
  810.                                  Handle                 dataH,
  811.                                  Movie                     theMovie,
  812.                                  Track                     targetTrack,
  813.                                  Track *                usedTrack,
  814.                                  TimeValue                 atTime,
  815.                                  TimeValue *            addedDuration,
  816.                                  long                     inFlags,
  817.                                  long *                    outFlags)                            FIVEWORDINLINE(0x2F3C, 0x0020, 0x0001, 0x7000, 0xA82A);
  818.  
  819. EXTERN_API( ComponentResult )
  820. MovieImportFile                    (MovieImportComponent     ci,
  821.                                  const FSSpec *            theFile,
  822.                                  Movie                     theMovie,
  823.                                  Track                     targetTrack,
  824.                                  Track *                usedTrack,
  825.                                  TimeValue                 atTime,
  826.                                  TimeValue *            addedDuration,
  827.                                  long                     inFlags,
  828.                                  long *                    outFlags)                            FIVEWORDINLINE(0x2F3C, 0x0020, 0x0002, 0x7000, 0xA82A);
  829.  
  830. EXTERN_API( ComponentResult )
  831. MovieImportSetSampleDuration    (MovieImportComponent     ci,
  832.                                  TimeValue                 duration,
  833.                                  TimeScale                 scale)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x0003, 0x7000, 0xA82A);
  834.  
  835. EXTERN_API( ComponentResult )
  836. MovieImportSetSampleDescription    (MovieImportComponent     ci,
  837.                                  SampleDescriptionHandle  desc,
  838.                                  OSType                 mediaType)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0004, 0x7000, 0xA82A);
  839.  
  840. EXTERN_API( ComponentResult )
  841. MovieImportSetMediaFile            (MovieImportComponent     ci,
  842.                                  AliasHandle             alias)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0005, 0x7000, 0xA82A);
  843.  
  844. EXTERN_API( ComponentResult )
  845. MovieImportSetDimensions        (MovieImportComponent     ci,
  846.                                  Fixed                     width,
  847.                                  Fixed                     height)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x0006, 0x7000, 0xA82A);
  848.  
  849. EXTERN_API( ComponentResult )
  850. MovieImportSetChunkSize            (MovieImportComponent     ci,
  851.                                  long                     chunkSize)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
  852.  
  853. EXTERN_API( ComponentResult )
  854. MovieImportSetProgressProc        (MovieImportComponent     ci,
  855.                                  MovieProgressUPP         proc,
  856.                                  long                     refcon)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x0008, 0x7000, 0xA82A);
  857.  
  858. EXTERN_API( ComponentResult )
  859. MovieImportSetAuxiliaryData        (MovieImportComponent     ci,
  860.                                  Handle                 data,
  861.                                  OSType                 handleType)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0009, 0x7000, 0xA82A);
  862.  
  863. EXTERN_API( ComponentResult )
  864. MovieImportSetFromScrap            (MovieImportComponent     ci,
  865.                                  Boolean                 fromScrap)                            FIVEWORDINLINE(0x2F3C, 0x0002, 0x000A, 0x7000, 0xA82A);
  866.  
  867. EXTERN_API( ComponentResult )
  868. MovieImportDoUserDialog            (MovieImportComponent     ci,
  869.                                  const FSSpec *            theFile,
  870.                                  Handle                 theData,
  871.                                  Boolean *                canceled)                            FIVEWORDINLINE(0x2F3C, 0x000C, 0x000B, 0x7000, 0xA82A);
  872.  
  873. EXTERN_API( ComponentResult )
  874. MovieImportSetDuration            (MovieImportComponent     ci,
  875.                                  TimeValue                 duration)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
  876.  
  877. EXTERN_API( ComponentResult )
  878. MovieImportGetAuxiliaryDataType    (MovieImportComponent     ci,
  879.                                  OSType *                auxType)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
  880.  
  881. EXTERN_API( ComponentResult )
  882. MovieImportValidate                (MovieImportComponent     ci,
  883.                                  const FSSpec *            theFile,
  884.                                  Handle                 theData,
  885.                                  Boolean *                valid)                                FIVEWORDINLINE(0x2F3C, 0x000C, 0x000E, 0x7000, 0xA82A);
  886.  
  887. EXTERN_API( ComponentResult )
  888. MovieImportGetFileType            (MovieImportComponent     ci,
  889.                                  OSType *                fileType)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x000F, 0x7000, 0xA82A);
  890.  
  891. EXTERN_API( ComponentResult )
  892. MovieImportDataRef                (MovieImportComponent     ci,
  893.                                  Handle                 dataRef,
  894.                                  OSType                 dataRefType,
  895.                                  Movie                     theMovie,
  896.                                  Track                     targetTrack,
  897.                                  Track *                usedTrack,
  898.                                  TimeValue                 atTime,
  899.                                  TimeValue *            addedDuration,
  900.                                  long                     inFlags,
  901.                                  long *                    outFlags)                            FIVEWORDINLINE(0x2F3C, 0x0024, 0x0010, 0x7000, 0xA82A);
  902.  
  903. EXTERN_API( ComponentResult )
  904. MovieImportGetSampleDescription    (MovieImportComponent     ci,
  905.                                  SampleDescriptionHandle * desc,
  906.                                  OSType *                mediaType)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0011, 0x7000, 0xA82A);
  907.  
  908. EXTERN_API( ComponentResult )
  909. MovieImportGetMIMETypeList        (MovieImportComponent     ci,
  910.                                  QTAtomContainer *        mimeInfo)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
  911.  
  912. EXTERN_API( ComponentResult )
  913. MovieImportSetOffsetAndLimit    (MovieImportComponent     ci,
  914.                                  unsigned long             offset,
  915.                                  unsigned long             limit)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x0013, 0x7000, 0xA82A);
  916.  
  917. EXTERN_API( ComponentResult )
  918. MovieImportGetSettingsAsAtomContainer (MovieImportComponent  ci,
  919.                                  QTAtomContainer *        settings)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A);
  920.  
  921. EXTERN_API( ComponentResult )
  922. MovieImportSetSettingsFromAtomContainer (MovieImportComponent  ci,
  923.                                  QTAtomContainer         settings)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0015, 0x7000, 0xA82A);
  924.  
  925. EXTERN_API( ComponentResult )
  926. MovieExportToHandle                (MovieExportComponent     ci,
  927.                                  Handle                 dataH,
  928.                                  Movie                     theMovie,
  929.                                  Track                     onlyThisTrack,
  930.                                  TimeValue                 startTime,
  931.                                  TimeValue                 duration)                            FIVEWORDINLINE(0x2F3C, 0x0014, 0x0080, 0x7000, 0xA82A);
  932.  
  933. EXTERN_API( ComponentResult )
  934. MovieExportToFile                (MovieExportComponent     ci,
  935.                                  const FSSpec *            theFile,
  936.                                  Movie                     theMovie,
  937.                                  Track                     onlyThisTrack,
  938.                                  TimeValue                 startTime,
  939.                                  TimeValue                 duration)                            FIVEWORDINLINE(0x2F3C, 0x0014, 0x0081, 0x7000, 0xA82A);
  940.  
  941. EXTERN_API( ComponentResult )
  942. MovieExportGetAuxiliaryData        (MovieExportComponent     ci,
  943.                                  Handle                 dataH,
  944.                                  OSType *                handleType)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0083, 0x7000, 0xA82A);
  945.  
  946. EXTERN_API( ComponentResult )
  947. MovieExportSetProgressProc        (MovieExportComponent     ci,
  948.                                  MovieProgressUPP         proc,
  949.                                  long                     refcon)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x0084, 0x7000, 0xA82A);
  950.  
  951. EXTERN_API( ComponentResult )
  952. MovieExportSetSampleDescription    (MovieExportComponent     ci,
  953.                                  SampleDescriptionHandle  desc,
  954.                                  OSType                 mediaType)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0085, 0x7000, 0xA82A);
  955.  
  956. EXTERN_API( ComponentResult )
  957. MovieExportDoUserDialog            (MovieExportComponent     ci,
  958.                                  Movie                     theMovie,
  959.                                  Track                     onlyThisTrack,
  960.                                  TimeValue                 startTime,
  961.                                  TimeValue                 duration,
  962.                                  Boolean *                canceled)                            FIVEWORDINLINE(0x2F3C, 0x0014, 0x0086, 0x7000, 0xA82A);
  963.  
  964. EXTERN_API( ComponentResult )
  965. MovieExportGetCreatorType        (MovieExportComponent     ci,
  966.                                  OSType *                creator)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0087, 0x7000, 0xA82A);
  967.  
  968. EXTERN_API( ComponentResult )
  969. MovieExportToDataRef            (MovieExportComponent     ci,
  970.                                  Handle                 dataRef,
  971.                                  OSType                 dataRefType,
  972.                                  Movie                     theMovie,
  973.                                  Track                     onlyThisTrack,
  974.                                  TimeValue                 startTime,
  975.                                  TimeValue                 duration)                            FIVEWORDINLINE(0x2F3C, 0x0018, 0x0088, 0x7000, 0xA82A);
  976.  
  977. EXTERN_API( ComponentResult )
  978. MovieExportFromProceduresToDataRef (MovieExportComponent  ci,
  979.                                  Handle                 dataRef,
  980.                                  OSType                 dataRefType)                        FIVEWORDINLINE(0x2F3C, 0x0008, 0x0089, 0x7000, 0xA82A);
  981.  
  982. EXTERN_API( ComponentResult )
  983. MovieExportAddDataSource        (MovieExportComponent     ci,
  984.                                  OSType                 trackType,
  985.                                  TimeScale                 scale,
  986.                                  long *                    trackID,
  987.                                  MovieExportGetPropertyUPP  getPropertyProc,
  988.                                  MovieExportGetDataUPP     getDataProc,
  989.                                  void *                    refCon)                                FIVEWORDINLINE(0x2F3C, 0x0018, 0x008A, 0x7000, 0xA82A);
  990.  
  991. EXTERN_API( ComponentResult )
  992. MovieExportValidate                (MovieExportComponent     ci,
  993.                                  Movie                     theMovie,
  994.                                  Track                     onlyThisTrack,
  995.                                  Boolean *                valid)                                FIVEWORDINLINE(0x2F3C, 0x000C, 0x008B, 0x7000, 0xA82A);
  996.  
  997. EXTERN_API( ComponentResult )
  998. MovieExportGetSettingsAsAtomContainer (MovieExportComponent  ci,
  999.                                  QTAtomContainer *        settings)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x008C, 0x7000, 0xA82A);
  1000.  
  1001. EXTERN_API( ComponentResult )
  1002. MovieExportSetSettingsFromAtomContainer (MovieExportComponent  ci,
  1003.                                  QTAtomContainer         settings)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x008D, 0x7000, 0xA82A);
  1004.  
  1005. EXTERN_API( ComponentResult )
  1006. MovieExportGetFileNameExtension    (MovieExportComponent     ci,
  1007.                                  OSType *                extension)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x008E, 0x7000, 0xA82A);
  1008.  
  1009. EXTERN_API( ComponentResult )
  1010. MovieExportGetShortFileTypeString (MovieExportComponent  ci,
  1011.                                  Str255                 typeString)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x008F, 0x7000, 0xA82A);
  1012.  
  1013. EXTERN_API( ComponentResult )
  1014. MovieExportGetSourceMediaType    (MovieExportComponent     ci,
  1015.                                  OSType *                mediaType)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0090, 0x7000, 0xA82A);
  1016.  
  1017. /* Text Export Display Info data structure*/
  1018.  
  1019. struct TextDisplayData {
  1020.     long                             displayFlags;
  1021.     long                             textJustification;
  1022.     RGBColor                         bgColor;
  1023.     Rect                             textBox;
  1024.  
  1025.     short                             beginHilite;
  1026.     short                             endHilite;
  1027.     RGBColor                         hiliteColor;
  1028.     Boolean                         doHiliteColor;
  1029.     SInt8                             filler;
  1030.     TimeValue                         scrollDelayDur;
  1031.     Point                             dropShadowOffset;
  1032.     short                             dropShadowTransparency;
  1033. };
  1034. typedef struct TextDisplayData            TextDisplayData;
  1035.  
  1036. typedef ComponentInstance                 TextExportComponent;
  1037. typedef ComponentInstance                 GraphicImageMovieImportComponent;
  1038. EXTERN_API( ComponentResult )
  1039. TextExportGetDisplayData        (TextExportComponent     ci,
  1040.                                  TextDisplayData *        textDisplay)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0100, 0x7000, 0xA82A);
  1041.  
  1042. EXTERN_API( ComponentResult )
  1043. TextExportGetTimeFraction        (TextExportComponent     ci,
  1044.                                  long *                    movieTimeFraction)                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
  1045.  
  1046. EXTERN_API( ComponentResult )
  1047. TextExportSetTimeFraction        (TextExportComponent     ci,
  1048.                                  long                     movieTimeFraction)                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A);
  1049.  
  1050. EXTERN_API( ComponentResult )
  1051. TextExportGetSettings            (TextExportComponent     ci,
  1052.                                  long *                    setting)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
  1053.  
  1054. EXTERN_API( ComponentResult )
  1055. TextExportSetSettings            (TextExportComponent     ci,
  1056.                                  long                     setting)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0104, 0x7000, 0xA82A);
  1057.  
  1058.  
  1059. EXTERN_API( ComponentResult )
  1060. MIDIImportGetSettings            (TextExportComponent     ci,
  1061.                                  long *                    setting)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0100, 0x7000, 0xA82A);
  1062.  
  1063. EXTERN_API( ComponentResult )
  1064. MIDIImportSetSettings            (TextExportComponent     ci,
  1065.                                  long                     setting)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
  1066.  
  1067. EXTERN_API( ComponentResult )
  1068. MovieExportNewGetDataAndPropertiesProcs (MovieExportComponent  ci,
  1069.                                  OSType                 trackType,
  1070.                                  TimeScale *            scale,
  1071.                                  Movie                     theMovie,
  1072.                                  Track                     theTrack,
  1073.                                  TimeValue                 startTime,
  1074.                                  TimeValue                 duration,
  1075.                                  MovieExportGetPropertyUPP * getPropertyProc,
  1076.                                  MovieExportGetDataUPP * getDataProc,
  1077.                                  void **                refCon)                                FIVEWORDINLINE(0x2F3C, 0x0024, 0x0100, 0x7000, 0xA82A);
  1078.  
  1079. EXTERN_API( ComponentResult )
  1080. MovieExportDisposeGetDataAndPropertiesProcs (MovieExportComponent  ci,
  1081.                                  MovieExportGetPropertyUPP  getPropertyProc,
  1082.                                  MovieExportGetDataUPP     getDataProc,
  1083.                                  void *                    refCon)                                FIVEWORDINLINE(0x2F3C, 0x000C, 0x0101, 0x7000, 0xA82A);
  1084.  
  1085.  
  1086. enum {
  1087.     movieExportWidth            = FOUR_CHAR_CODE('wdth'),        /* pointer to Fixed*/
  1088.     movieExportHeight            = FOUR_CHAR_CODE('hegt'),        /* pointer to Fixed*/
  1089.     movieExportDuration            = FOUR_CHAR_CODE('dura'),        /* pointer to TimeRecord*/
  1090.     movieExportVideoFilter        = FOUR_CHAR_CODE('iflt')        /* pointer to QTAtomContainer*/
  1091. };
  1092.  
  1093. EXTERN_API( ComponentResult )
  1094. GraphicsImageImportSetSequenceEnabled (GraphicImageMovieImportComponent  ci,
  1095.                                  Boolean                 enable)                                FIVEWORDINLINE(0x2F3C, 0x0002, 0x0100, 0x7000, 0xA82A);
  1096.  
  1097. EXTERN_API( ComponentResult )
  1098. GraphicsImageImportGetSequenceEnabled (GraphicImageMovieImportComponent  ci,
  1099.                                  Boolean *                enable)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108. /***************
  1109.  
  1110.     File Preview Components
  1111.  
  1112. ***************/
  1113. typedef ComponentInstance                 pnotComponent;
  1114.  
  1115. enum {
  1116.     pnotComponentWantsEvents    = 1,
  1117.     pnotComponentNeedsNoCache    = 2
  1118. };
  1119.  
  1120.  
  1121. enum {
  1122.     ShowFilePreviewComponentType = FOUR_CHAR_CODE('pnot'),
  1123.     CreateFilePreviewComponentType = FOUR_CHAR_CODE('pmak')
  1124. };
  1125.  
  1126. EXTERN_API( ComponentResult )
  1127. PreviewShowData                    (pnotComponent             p,
  1128.                                  OSType                 dataType,
  1129.                                  Handle                 data,
  1130.                                  const Rect *            inHere)                                FIVEWORDINLINE(0x2F3C, 0x000C, 0x0001, 0x7000, 0xA82A);
  1131.  
  1132. EXTERN_API( ComponentResult )
  1133. PreviewMakePreview                (pnotComponent             p,
  1134.                                  OSType *                previewType,
  1135.                                  Handle *                previewResult,
  1136.                                  const FSSpec *            sourceFile,
  1137.                                  ICMProgressProcRecordPtr  progress)                        FIVEWORDINLINE(0x2F3C, 0x0010, 0x0002, 0x7000, 0xA82A);
  1138.  
  1139. EXTERN_API( ComponentResult )
  1140. PreviewMakePreviewReference        (pnotComponent             p,
  1141.                                  OSType *                previewType,
  1142.                                  short *                resID,
  1143.                                  const FSSpec *            sourceFile)                            FIVEWORDINLINE(0x2F3C, 0x000C, 0x0003, 0x7000, 0xA82A);
  1144.  
  1145. EXTERN_API( ComponentResult )
  1146. PreviewEvent                    (pnotComponent             p,
  1147.                                  EventRecord *            e,
  1148.                                  Boolean *                handledEvent)                        FIVEWORDINLINE(0x2F3C, 0x0008, 0x0004, 0x7000, 0xA82A);
  1149.  
  1150.  
  1151.  
  1152. typedef ComponentInstance                 DataCompressorComponent;
  1153. typedef ComponentInstance                 DataDecompressorComponent;
  1154. typedef ComponentInstance                 DataCodecComponent;
  1155.  
  1156. enum {
  1157.     DataCompressorComponentType    = FOUR_CHAR_CODE('dcom'),
  1158.     DataDecompressorComponentType = FOUR_CHAR_CODE('ddec'),
  1159.     AppleDataCompressorSubType    = FOUR_CHAR_CODE('adec'),
  1160.     zlibDataCompressorSubType    = FOUR_CHAR_CODE('zlib')
  1161. };
  1162.  
  1163.  
  1164. /** These are DataCodec procedures **/
  1165. EXTERN_API( ComponentResult )
  1166. DataCodecDecompress                (DataCodecComponent     dc,
  1167.                                  void *                    srcData,
  1168.                                  UInt32                 srcSize,
  1169.                                  void *                    dstData,
  1170.                                  UInt32                 dstBufferSize)                        FIVEWORDINLINE(0x2F3C, 0x0010, 0x0001, 0x7000, 0xA82A);
  1171.  
  1172. EXTERN_API( ComponentResult )
  1173. DataCodecGetCompressBufferSize    (DataCodecComponent     dc,
  1174.                                  UInt32                 srcSize,
  1175.                                  UInt32 *                dstSize)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0002, 0x7000, 0xA82A);
  1176.  
  1177. EXTERN_API( ComponentResult )
  1178. DataCodecCompress                (DataCodecComponent     dc,
  1179.                                  void *                    srcData,
  1180.                                  UInt32                 srcSize,
  1181.                                  void *                    dstData,
  1182.                                  UInt32                 dstBufferSize,
  1183.                                  UInt32 *                actualDstSize,
  1184.                                  UInt32 *                decompressSlop)                        FIVEWORDINLINE(0x2F3C, 0x0018, 0x0003, 0x7000, 0xA82A);
  1185.  
  1186. EXTERN_API( ComponentResult )
  1187. DataCodecBeginInterruptSafe        (DataCodecComponent     dc,
  1188.                                  unsigned long             maxSrcSize)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
  1189.  
  1190. EXTERN_API( ComponentResult )
  1191. DataCodecEndInterruptSafe        (DataCodecComponent     dc)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x0005, 0x7000, 0xA82A);
  1192.  
  1193. EXTERN_API( ComponentResult )
  1194. DataCodecDecompressPartial        (DataCodecComponent     dc,
  1195.                                  void **                next_in,
  1196.                                  unsigned long *        avail_in,
  1197.                                  unsigned long *        total_in,
  1198.                                  void **                next_out,
  1199.                                  unsigned long *        avail_out,
  1200.                                  unsigned long *        total_out,
  1201.                                  Boolean *                didFinish)                            FIVEWORDINLINE(0x2F3C, 0x001C, 0x0006, 0x7000, 0xA82A);
  1202.  
  1203. EXTERN_API( ComponentResult )
  1204. DataCodecCompressPartial        (DataCodecComponent     dc,
  1205.                                  void **                next_in,
  1206.                                  unsigned long *        avail_in,
  1207.                                  unsigned long *        total_in,
  1208.                                  void **                next_out,
  1209.                                  unsigned long *        avail_out,
  1210.                                  unsigned long *        total_out,
  1211.                                  Boolean                 tryToFinish,
  1212.                                  Boolean *                didFinish)                            FIVEWORDINLINE(0x2F3C, 0x001E, 0x0007, 0x7000, 0xA82A);
  1213.  
  1214.  
  1215.  
  1216.  
  1217. typedef CALLBACK_API( void , DataHCompletionProcPtr )(Ptr request, long refcon, OSErr err);
  1218. typedef STACK_UPP_TYPE(DataHCompletionProcPtr)                     DataHCompletionUPP;
  1219.  
  1220.  
  1221. enum {
  1222.     kDataHCanRead                = 1L << 0,
  1223.     kDataHSpecialRead            = 1L << 1,
  1224.     kDataHSpecialReadFile        = 1L << 2,
  1225.     kDataHCanWrite                = 1L << 3,
  1226.     kDataHSpecialWrite            = 1 << 4,
  1227.     kDataHSpecialWriteFile        = 1 << 5,
  1228.     kDataHCanStreamingWrite        = 1 << 6,
  1229.     kDataHMustCheckDataRef        = 1 << 7
  1230. };
  1231.  
  1232.  
  1233. struct DataHVolumeListRecord {
  1234.     short                             vRefNum;
  1235.     long                             flags;
  1236. };
  1237. typedef struct DataHVolumeListRecord    DataHVolumeListRecord;
  1238.  
  1239. typedef DataHVolumeListRecord *            DataHVolumeListPtr;
  1240. typedef DataHVolumeListPtr *            DataHVolumeList;
  1241.  
  1242. enum {
  1243.     kDataHExtendedSchedule        = FOUR_CHAR_CODE('xtnd')
  1244. };
  1245.  
  1246.  
  1247. struct DataHScheduleRecord {
  1248.     TimeRecord                         timeNeededBy;
  1249.     long                             extendedID;                    /* always is kDataHExtendedSchedule*/
  1250.     long                             extendedVers;                /* always set to 0*/
  1251.     Fixed                             priority;                    /* 100.0 or more means must have. lower numbers…*/
  1252. };
  1253. typedef struct DataHScheduleRecord        DataHScheduleRecord;
  1254.  
  1255. typedef DataHScheduleRecord *            DataHSchedulePtr;
  1256.  
  1257.  
  1258. EXTERN_API( ComponentResult )
  1259. DataHGetData                    (DataHandler             dh,
  1260.                                  Handle                 h,
  1261.                                  long                     hOffset,
  1262.                                  long                     offset,
  1263.                                  long                     size)                                FIVEWORDINLINE(0x2F3C, 0x0010, 0x0002, 0x7000, 0xA82A);
  1264.  
  1265. EXTERN_API( ComponentResult )
  1266. DataHPutData                    (DataHandler             dh,
  1267.                                  Handle                 h,
  1268.                                  long                     hOffset,
  1269.                                  long *                    offset,
  1270.                                  long                     size)                                FIVEWORDINLINE(0x2F3C, 0x0010, 0x0003, 0x7000, 0xA82A);
  1271.  
  1272. EXTERN_API( ComponentResult )
  1273. DataHFlushData                    (DataHandler             dh)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x0004, 0x7000, 0xA82A);
  1274.  
  1275. EXTERN_API( ComponentResult )
  1276. DataHOpenForWrite                (DataHandler             dh)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x0005, 0x7000, 0xA82A);
  1277.  
  1278. EXTERN_API( ComponentResult )
  1279. DataHCloseForWrite                (DataHandler             dh)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x0006, 0x7000, 0xA82A);
  1280.  
  1281.  
  1282. EXTERN_API( ComponentResult )
  1283. DataHOpenForRead                (DataHandler             dh)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x0008, 0x7000, 0xA82A);
  1284.  
  1285. EXTERN_API( ComponentResult )
  1286. DataHCloseForRead                (DataHandler             dh)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x0009, 0x7000, 0xA82A);
  1287.  
  1288. EXTERN_API( ComponentResult )
  1289. DataHSetDataRef                    (DataHandler             dh,
  1290.                                  Handle                 dataRef)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x000A, 0x7000, 0xA82A);
  1291.  
  1292. EXTERN_API( ComponentResult )
  1293. DataHGetDataRef                    (DataHandler             dh,
  1294.                                  Handle *                dataRef)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x000B, 0x7000, 0xA82A);
  1295.  
  1296. EXTERN_API( ComponentResult )
  1297. DataHCompareDataRef                (DataHandler             dh,
  1298.                                  Handle                 dataRef,
  1299.                                  Boolean *                equal)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x000C, 0x7000, 0xA82A);
  1300.  
  1301. EXTERN_API( ComponentResult )
  1302. DataHTask                        (DataHandler             dh)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x000D, 0x7000, 0xA82A);
  1303.  
  1304. EXTERN_API( ComponentResult )
  1305. DataHScheduleData                (DataHandler             dh,
  1306.                                  Ptr                     PlaceToPutDataPtr,
  1307.                                  long                     FileOffset,
  1308.                                  long                     DataSize,
  1309.                                  long                     RefCon,
  1310.                                  DataHSchedulePtr         scheduleRec,
  1311.                                  DataHCompletionUPP     CompletionRtn)                        FIVEWORDINLINE(0x2F3C, 0x0018, 0x000E, 0x7000, 0xA82A);
  1312.  
  1313. EXTERN_API( ComponentResult )
  1314. DataHFinishData                    (DataHandler             dh,
  1315.                                  Ptr                     PlaceToPutDataPtr,
  1316.                                  Boolean                 Cancel)                                FIVEWORDINLINE(0x2F3C, 0x0006, 0x000F, 0x7000, 0xA82A);
  1317.  
  1318. EXTERN_API( ComponentResult )
  1319. DataHFlushCache                    (DataHandler             dh)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x0010, 0x7000, 0xA82A);
  1320.  
  1321. EXTERN_API( ComponentResult )
  1322. DataHResolveDataRef                (DataHandler             dh,
  1323.                                  Handle                 theDataRef,
  1324.                                  Boolean *                wasChanged,
  1325.                                  Boolean                 userInterfaceAllowed)                FIVEWORDINLINE(0x2F3C, 0x000A, 0x0011, 0x7000, 0xA82A);
  1326.  
  1327. EXTERN_API( ComponentResult )
  1328. DataHGetFileSize                (DataHandler             dh,
  1329.                                  long *                    fileSize)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
  1330.  
  1331. EXTERN_API( ComponentResult )
  1332. DataHCanUseDataRef                (DataHandler             dh,
  1333.                                  Handle                 dataRef,
  1334.                                  long *                    useFlags)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0013, 0x7000, 0xA82A);
  1335.  
  1336. EXTERN_API( ComponentResult )
  1337. DataHGetVolumeList                (DataHandler             dh,
  1338.                                  DataHVolumeList *        volumeList)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A);
  1339.  
  1340. EXTERN_API( ComponentResult )
  1341. DataHWrite                        (DataHandler             dh,
  1342.                                  Ptr                     data,
  1343.                                  long                     offset,
  1344.                                  long                     size,
  1345.                                  DataHCompletionUPP     completion,
  1346.                                  long                     refCon)                                FIVEWORDINLINE(0x2F3C, 0x0014, 0x0015, 0x7000, 0xA82A);
  1347.  
  1348. EXTERN_API( ComponentResult )
  1349. DataHPreextend                    (DataHandler             dh,
  1350.                                  unsigned long             maxToAdd,
  1351.                                  unsigned long *        spaceAdded)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0016, 0x7000, 0xA82A);
  1352.  
  1353. EXTERN_API( ComponentResult )
  1354. DataHSetFileSize                (DataHandler             dh,
  1355.                                  long                     fileSize)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0017, 0x7000, 0xA82A);
  1356.  
  1357. EXTERN_API( ComponentResult )
  1358. DataHGetFreeSpace                (DataHandler             dh,
  1359.                                  unsigned long *        freeSize)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0018, 0x7000, 0xA82A);
  1360.  
  1361. EXTERN_API( ComponentResult )
  1362. DataHCreateFile                    (DataHandler             dh,
  1363.                                  OSType                 creator,
  1364.                                  Boolean                 deleteExisting)                        FIVEWORDINLINE(0x2F3C, 0x0006, 0x0019, 0x7000, 0xA82A);
  1365.  
  1366. EXTERN_API( ComponentResult )
  1367. DataHGetPreferredBlockSize        (DataHandler             dh,
  1368.                                  long *                    blockSize)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x001A, 0x7000, 0xA82A);
  1369.  
  1370. EXTERN_API( ComponentResult )
  1371. DataHGetDeviceIndex                (DataHandler             dh,
  1372.                                  long *                    deviceIndex)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x001B, 0x7000, 0xA82A);
  1373.  
  1374. EXTERN_API( ComponentResult )
  1375. DataHIsStreamingDataHandler        (DataHandler             dh,
  1376.                                  Boolean *                yes)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x001C, 0x7000, 0xA82A);
  1377.  
  1378. EXTERN_API( ComponentResult )
  1379. DataHGetDataInBuffer            (DataHandler             dh,
  1380.                                  long                     startOffset,
  1381.                                  long *                    size)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x001D, 0x7000, 0xA82A);
  1382.  
  1383. EXTERN_API( ComponentResult )
  1384. DataHGetScheduleAheadTime        (DataHandler             dh,
  1385.                                  long *                    millisecs)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x001E, 0x7000, 0xA82A);
  1386.  
  1387. EXTERN_API( ComponentResult )
  1388. DataHSetCacheSizeLimit            (DataHandler             dh,
  1389.                                  Size                     cacheSizeLimit)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x001F, 0x7000, 0xA82A);
  1390.  
  1391. EXTERN_API( ComponentResult )
  1392. DataHGetCacheSizeLimit            (DataHandler             dh,
  1393.                                  Size *                    cacheSizeLimit)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0020, 0x7000, 0xA82A);
  1394.  
  1395. EXTERN_API( ComponentResult )
  1396. DataHGetMovie                    (DataHandler             dh,
  1397.                                  Movie *                theMovie,
  1398.                                  short *                id)                                    FIVEWORDINLINE(0x2F3C, 0x0008, 0x0021, 0x7000, 0xA82A);
  1399.  
  1400. EXTERN_API( ComponentResult )
  1401. DataHAddMovie                    (DataHandler             dh,
  1402.                                  Movie                     theMovie,
  1403.                                  short *                id)                                    FIVEWORDINLINE(0x2F3C, 0x0008, 0x0022, 0x7000, 0xA82A);
  1404.  
  1405. EXTERN_API( ComponentResult )
  1406. DataHUpdateMovie                (DataHandler             dh,
  1407.                                  Movie                     theMovie,
  1408.                                  short                     id)                                    FIVEWORDINLINE(0x2F3C, 0x0006, 0x0023, 0x7000, 0xA82A);
  1409.  
  1410. EXTERN_API( ComponentResult )
  1411. DataHDoesBuffer                    (DataHandler             dh,
  1412.                                  Boolean *                buffersReads,
  1413.                                  Boolean *                buffersWrites)                        FIVEWORDINLINE(0x2F3C, 0x0008, 0x0024, 0x7000, 0xA82A);
  1414.  
  1415. EXTERN_API( ComponentResult )
  1416. DataHGetFileName                (DataHandler             dh,
  1417.                                  Str255                 str)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0025, 0x7000, 0xA82A);
  1418.  
  1419. EXTERN_API( ComponentResult )
  1420. DataHGetAvailableFileSize        (DataHandler             dh,
  1421.                                  long *                    fileSize)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0026, 0x7000, 0xA82A);
  1422.  
  1423. EXTERN_API( ComponentResult )
  1424. DataHGetMacOSFileType            (DataHandler             dh,
  1425.                                  OSType *                fileType)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0027, 0x7000, 0xA82A);
  1426.  
  1427. EXTERN_API( ComponentResult )
  1428. DataHGetMIMEType                (DataHandler             dh,
  1429.                                  Str255                 mimeType)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0028, 0x7000, 0xA82A);
  1430.  
  1431. EXTERN_API( ComponentResult )
  1432. DataHSetDataRefWithAnchor        (DataHandler             dh,
  1433.                                  Handle                 anchorDataRef,
  1434.                                  OSType                 dataRefType,
  1435.                                  Handle                 dataRef)                            FIVEWORDINLINE(0x2F3C, 0x000C, 0x0029, 0x7000, 0xA82A);
  1436.  
  1437. EXTERN_API( ComponentResult )
  1438. DataHGetDataRefWithAnchor        (DataHandler             dh,
  1439.                                  Handle                 anchorDataRef,
  1440.                                  OSType                 dataRefType,
  1441.                                  Handle *                dataRef)                            FIVEWORDINLINE(0x2F3C, 0x000C, 0x002A, 0x7000, 0xA82A);
  1442.  
  1443. EXTERN_API( ComponentResult )
  1444. DataHSetMacOSFileType            (DataHandler             dh,
  1445.                                  OSType                 fileType)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x002B, 0x7000, 0xA82A);
  1446.  
  1447.  
  1448. EXTERN_API( ComponentResult )
  1449. DataHPlaybackHints                (DataHandler             dh,
  1450.                                  long                     flags,
  1451.                                  unsigned long             minFileOffset,
  1452.                                  unsigned long             maxFileOffset,
  1453.                                  long                     bytesPerSecond)                        FIVEWORDINLINE(0x2F3C, 0x0010, 0x0103, 0x7000, 0xA82A);
  1454.  
  1455.  
  1456.  
  1457.  
  1458. /* Standard type for video digitizers */
  1459.  
  1460. enum {
  1461.     videoDigitizerComponentType    = FOUR_CHAR_CODE('vdig'),
  1462.     vdigInterfaceRev            = 2
  1463. };
  1464.  
  1465. /* Input Format Standards */
  1466.  
  1467. enum {
  1468.     ntscIn                        = 0,                            /* current input format */
  1469.     currentIn                    = 0,                            /* ntsc input format */
  1470.     palIn                        = 1,                            /* pal input format */
  1471.     secamIn                        = 2,                            /* secam input format */
  1472.     ntscReallyIn                = 3                                /* ntsc input format */
  1473. };
  1474.  
  1475. /* Input Formats */
  1476.  
  1477. enum {
  1478.     compositeIn                    = 0,                            /* input is composite format */
  1479.     sVideoIn                    = 1,                            /* input is sVideo format */
  1480.     rgbComponentIn                = 2,                            /* input is rgb component format */
  1481.     rgbComponentSyncIn            = 3,                            /* input is rgb component format (sync on green?)*/
  1482.     yuvComponentIn                = 4,                            /* input is yuv component format */
  1483.     yuvComponentSyncIn            = 5,                            /* input is yuv component format (sync on green?) */
  1484.     tvTunerIn                    = 6,
  1485.     sdiIn                        = 7
  1486. };
  1487.  
  1488.  
  1489. /* Video Digitizer PlayThru States */
  1490.  
  1491. enum {
  1492.     vdPlayThruOff                = 0,
  1493.     vdPlayThruOn                = 1
  1494. };
  1495.  
  1496. /* Input Color Space Modes */
  1497.  
  1498. enum {
  1499.     vdDigitizerBW                = 0,                            /* black and white */
  1500.     vdDigitizerRGB                = 1                                /* rgb color */
  1501. };
  1502.  
  1503. /* Phase Lock Loop Modes */
  1504.  
  1505. enum {
  1506.     vdBroadcastMode                = 0,                            /* Broadcast / Laser Disk video mode */
  1507.     vdVTRMode                    = 1                                /* VCR / Magnetic media mode */
  1508. };
  1509.  
  1510. /* Field Select Options */
  1511.  
  1512. enum {
  1513.     vdUseAnyField                = 0,                            /* Digitizers choice on field use */
  1514.     vdUseOddField                = 1,                            /* Use odd field for half size vert and smaller */
  1515.     vdUseEvenField                = 2                                /* Use even field for half size vert and smaller */
  1516. };
  1517.  
  1518. /* vdig types */
  1519.  
  1520. enum {
  1521.     vdTypeBasic                    = 0,                            /* basic, no clipping */
  1522.     vdTypeAlpha                    = 1,                            /* supports clipping with alpha channel */
  1523.     vdTypeMask                    = 2,                            /* supports clipping with mask plane */
  1524.     vdTypeKey                    = 3                                /* supports clipping with key color(s) */
  1525. };
  1526.  
  1527.  
  1528.  
  1529. /* Digitizer Input Capability/Current Flags    */
  1530.  
  1531. enum {
  1532.     digiInDoesNTSC                = 1L << 0,                        /* digitizer supports NTSC input format */
  1533.     digiInDoesPAL                = 1L << 1,                        /* digitizer supports PAL input format */
  1534.     digiInDoesSECAM                = 1L << 2,                        /* digitizer supports SECAM input format */
  1535.     digiInDoesGenLock            = 1L << 7,                        /* digitizer does genlock */
  1536.     digiInDoesComposite            = 1L << 8,                        /* digitizer supports composite input type */
  1537.     digiInDoesSVideo            = 1L << 9,                        /* digitizer supports S-Video input type */
  1538.     digiInDoesComponent            = 1L << 10,                        /* digitizer supports component = rgb, input type */
  1539.     digiInVTR_Broadcast            = 1L << 11,                        /* digitizer can differentiate between the two */
  1540.     digiInDoesColor                = 1L << 12,                        /* digitizer supports color */
  1541.     digiInDoesBW                = 1L << 13,                        /* digitizer supports black & white */
  1542.                                                                 /* Digitizer Input Current Flags = these are valid only during active operating conditions,    */
  1543.     digiInSignalLock            = 1L << 31                        /* digitizer detects input signal is locked, this bit = horiz lock || vertical lock */
  1544. };
  1545.  
  1546.  
  1547. /* Digitizer Output Capability/Current Flags */
  1548.  
  1549. enum {
  1550.     digiOutDoes1                = 1L << 0,                        /* digitizer supports 1 bit pixels */
  1551.     digiOutDoes2                = 1L << 1,                        /* digitizer supports 2 bit pixels */
  1552.     digiOutDoes4                = 1L << 2,                        /* digitizer supports 4 bit pixels */
  1553.     digiOutDoes8                = 1L << 3,                        /* digitizer supports 8 bit pixels */
  1554.     digiOutDoes16                = 1L << 4,                        /* digitizer supports 16 bit pixels */
  1555.     digiOutDoes32                = 1L << 5,                        /* digitizer supports 32 bit pixels */
  1556.     digiOutDoesDither            = 1L << 6,                        /* digitizer dithers in indexed modes */
  1557.     digiOutDoesStretch            = 1L << 7,                        /* digitizer can arbitrarily stretch */
  1558.     digiOutDoesShrink            = 1L << 8,                        /* digitizer can arbitrarily shrink */
  1559.     digiOutDoesMask                = 1L << 9,                        /* digitizer can mask to clipping regions */
  1560.     digiOutDoesDouble            = 1L << 11,                        /* digitizer can stretch to exactly double size */
  1561.     digiOutDoesQuad                = 1L << 12,                        /* digitizer can stretch exactly quadruple size */
  1562.     digiOutDoesQuarter            = 1L << 13,                        /* digitizer can shrink to exactly quarter size */
  1563.     digiOutDoesSixteenth        = 1L << 14,                        /* digitizer can shrink to exactly sixteenth size */
  1564.     digiOutDoesRotate            = 1L << 15,                        /* digitizer supports rotate transformations */
  1565.     digiOutDoesHorizFlip        = 1L << 16,                        /* digitizer supports horizontal flips Sx < 0 */
  1566.     digiOutDoesVertFlip            = 1L << 17,                        /* digitizer supports vertical flips Sy < 0 */
  1567.     digiOutDoesSkew                = 1L << 18,                        /* digitizer supports skew = shear,twist, */
  1568.     digiOutDoesBlend            = 1L << 19,
  1569.     digiOutDoesWarp                = 1L << 20,
  1570.     digiOutDoesHW_DMA            = 1L << 21,                        /* digitizer not constrained to local device */
  1571.     digiOutDoesHWPlayThru        = 1L << 22,                        /* digitizer doesn't need time to play thru */
  1572.     digiOutDoesILUT                = 1L << 23,                        /* digitizer does inverse LUT for index modes */
  1573.     digiOutDoesKeyColor            = 1L << 24,                        /* digitizer does key color functions too */
  1574.     digiOutDoesAsyncGrabs        = 1L << 25,                        /* digitizer supports async grabs */
  1575.     digiOutDoesUnreadableScreenBits = 1L << 26,                    /* playthru doesn't generate readable bits on screen*/
  1576.     digiOutDoesCompress            = 1L << 27,                        /* supports alternate output data types */
  1577.     digiOutDoesCompressOnly        = 1L << 28,                        /* can't provide raw frames anywhere */
  1578.     digiOutDoesPlayThruDuringCompress = 1L << 29,                /* digi can do playthru while providing compressed data */
  1579.     digiOutDoesCompressPartiallyVisible = 1L << 30                /* digi doesn't need all bits visible on screen to do hardware compress */
  1580. };
  1581.  
  1582. /* Types */
  1583. typedef ComponentInstance                 VideoDigitizerComponent;
  1584. typedef ComponentResult                 VideoDigitizerError;
  1585.  
  1586. struct DigitizerInfo {
  1587.     short                             vdigType;
  1588.     long                             inputCapabilityFlags;
  1589.     long                             outputCapabilityFlags;
  1590.     long                             inputCurrentFlags;
  1591.     long                             outputCurrentFlags;
  1592.     short                             slot;                        /* temporary for connection purposes */
  1593.     GDHandle                         gdh;                        /* temporary for digitizers that have preferred screen */
  1594.     GDHandle                         maskgdh;                    /* temporary for digitizers that have mask planes */
  1595.     short                             minDestHeight;                /* Smallest resizable height */
  1596.     short                             minDestWidth;                /* Smallest resizable width */
  1597.     short                             maxDestHeight;                /* Largest resizable height */
  1598.     short                             maxDestWidth;                /* Largest resizable height */
  1599.     short                             blendLevels;                /* Number of blend levels supported (2 if 1 bit mask) */
  1600.     long                             reserved;                    /* reserved */
  1601. };
  1602. typedef struct DigitizerInfo            DigitizerInfo;
  1603.  
  1604. struct VdigType {
  1605.     long                             digType;
  1606.     long                             reserved;
  1607. };
  1608. typedef struct VdigType                    VdigType;
  1609.  
  1610. struct VdigTypeList {
  1611.     short                             count;
  1612.     VdigType                         list[1];
  1613. };
  1614. typedef struct VdigTypeList                VdigTypeList;
  1615.  
  1616. struct VdigBufferRec {
  1617.     PixMapHandle                     dest;
  1618.     Point                             location;
  1619.     long                             reserved;
  1620. };
  1621. typedef struct VdigBufferRec            VdigBufferRec;
  1622.  
  1623. struct VdigBufferRecList {
  1624.     short                             count;
  1625.     MatrixRecordPtr                 matrix;
  1626.     RgnHandle                         mask;
  1627.     VdigBufferRec                     list[1];
  1628. };
  1629. typedef struct VdigBufferRecList        VdigBufferRecList;
  1630. typedef VdigBufferRecList *                VdigBufferRecListPtr;
  1631. typedef VdigBufferRecListPtr *            VdigBufferRecListHandle;
  1632. typedef CALLBACK_API( void , VdigIntProcPtr )(long flags, long refcon);
  1633. typedef STACK_UPP_TYPE(VdigIntProcPtr)                             VdigIntUPP;
  1634.  
  1635. struct VDCompressionList {
  1636.     CodecComponent                     codec;
  1637.     CodecType                         cType;
  1638.     Str63                             typeName;
  1639.     Str63                             name;
  1640.     long                             formatFlags;
  1641.     long                             compressFlags;
  1642.     long                             reserved;
  1643. };
  1644. typedef struct VDCompressionList        VDCompressionList;
  1645. typedef VDCompressionList *                VDCompressionListPtr;
  1646. typedef VDCompressionListPtr *            VDCompressionListHandle;
  1647.  
  1648. enum {
  1649.     dmaDepth1                    = 1,
  1650.     dmaDepth2                    = 2,
  1651.     dmaDepth4                    = 4,
  1652.     dmaDepth8                    = 8,
  1653.     dmaDepth16                    = 16,
  1654.     dmaDepth32                    = 32,
  1655.     dmaDepth2Gray                = 64,
  1656.     dmaDepth4Gray                = 128,
  1657.     dmaDepth8Gray                = 256
  1658. };
  1659.  
  1660.  
  1661. enum {
  1662.     kVDIGControlledFrameRate    = -1
  1663. };
  1664.  
  1665.  
  1666. EXTERN_API( VideoDigitizerError )
  1667. VDGetMaxSrcRect                    (VideoDigitizerComponent  ci,
  1668.                                  short                     inputStd,
  1669.                                  Rect *                    maxSrcRect)                            FIVEWORDINLINE(0x2F3C, 0x0006, 0x0001, 0x7000, 0xA82A);
  1670.  
  1671. EXTERN_API( VideoDigitizerError )
  1672. VDGetActiveSrcRect                (VideoDigitizerComponent  ci,
  1673.                                  short                     inputStd,
  1674.                                  Rect *                    activeSrcRect)                        FIVEWORDINLINE(0x2F3C, 0x0006, 0x0002, 0x7000, 0xA82A);
  1675.  
  1676. EXTERN_API( VideoDigitizerError )
  1677. VDSetDigitizerRect                (VideoDigitizerComponent  ci,
  1678.                                  Rect *                    digitizerRect)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
  1679.  
  1680. EXTERN_API( VideoDigitizerError )
  1681. VDGetDigitizerRect                (VideoDigitizerComponent  ci,
  1682.                                  Rect *                    digitizerRect)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
  1683.  
  1684. EXTERN_API( VideoDigitizerError )
  1685. VDGetVBlankRect                    (VideoDigitizerComponent  ci,
  1686.                                  short                     inputStd,
  1687.                                  Rect *                    vBlankRect)                            FIVEWORDINLINE(0x2F3C, 0x0006, 0x0005, 0x7000, 0xA82A);
  1688.  
  1689. EXTERN_API( VideoDigitizerError )
  1690. VDGetMaskPixMap                    (VideoDigitizerComponent  ci,
  1691.                                  PixMapHandle             maskPixMap)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0006, 0x7000, 0xA82A);
  1692.  
  1693. EXTERN_API( VideoDigitizerError )
  1694. VDGetPlayThruDestination        (VideoDigitizerComponent  ci,
  1695.                                  PixMapHandle *            dest,
  1696.                                  Rect *                    destRect,
  1697.                                  MatrixRecord *            m,
  1698.                                  RgnHandle *            mask)                                FIVEWORDINLINE(0x2F3C, 0x0010, 0x0008, 0x7000, 0xA82A);
  1699.  
  1700. EXTERN_API( VideoDigitizerError )
  1701. VDUseThisCLUT                    (VideoDigitizerComponent  ci,
  1702.                                  CTabHandle             colorTableHandle)                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0009, 0x7000, 0xA82A);
  1703.  
  1704. EXTERN_API( VideoDigitizerError )
  1705. VDSetInputGammaValue            (VideoDigitizerComponent  ci,
  1706.                                  Fixed                     channel1,
  1707.                                  Fixed                     channel2,
  1708.                                  Fixed                     channel3)                            FIVEWORDINLINE(0x2F3C, 0x000C, 0x000A, 0x7000, 0xA82A);
  1709.  
  1710. EXTERN_API( VideoDigitizerError )
  1711. VDGetInputGammaValue            (VideoDigitizerComponent  ci,
  1712.                                  Fixed *                channel1,
  1713.                                  Fixed *                channel2,
  1714.                                  Fixed *                channel3)                            FIVEWORDINLINE(0x2F3C, 0x000C, 0x000B, 0x7000, 0xA82A);
  1715.  
  1716. EXTERN_API( VideoDigitizerError )
  1717. VDSetBrightness                    (VideoDigitizerComponent  ci,
  1718.                                  unsigned short *        brightness)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
  1719.  
  1720. EXTERN_API( VideoDigitizerError )
  1721. VDGetBrightness                    (VideoDigitizerComponent  ci,
  1722.                                  unsigned short *        brightness)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x000D, 0x7000, 0xA82A);
  1723.  
  1724. EXTERN_API( VideoDigitizerError )
  1725. VDSetContrast                    (VideoDigitizerComponent  ci,
  1726.                                  unsigned short *        contrast)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x000E, 0x7000, 0xA82A);
  1727.  
  1728. EXTERN_API( VideoDigitizerError )
  1729. VDSetHue                        (VideoDigitizerComponent  ci,
  1730.                                  unsigned short *        hue)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x000F, 0x7000, 0xA82A);
  1731.  
  1732. EXTERN_API( VideoDigitizerError )
  1733. VDSetSharpness                    (VideoDigitizerComponent  ci,
  1734.                                  unsigned short *        sharpness)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0010, 0x7000, 0xA82A);
  1735.  
  1736. EXTERN_API( VideoDigitizerError )
  1737. VDSetSaturation                    (VideoDigitizerComponent  ci,
  1738.                                  unsigned short *        saturation)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0011, 0x7000, 0xA82A);
  1739.  
  1740. EXTERN_API( VideoDigitizerError )
  1741. VDGetContrast                    (VideoDigitizerComponent  ci,
  1742.                                  unsigned short *        contrast)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0012, 0x7000, 0xA82A);
  1743.  
  1744. EXTERN_API( VideoDigitizerError )
  1745. VDGetHue                        (VideoDigitizerComponent  ci,
  1746.                                  unsigned short *        hue)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0013, 0x7000, 0xA82A);
  1747.  
  1748. EXTERN_API( VideoDigitizerError )
  1749. VDGetSharpness                    (VideoDigitizerComponent  ci,
  1750.                                  unsigned short *        sharpness)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0014, 0x7000, 0xA82A);
  1751.  
  1752. EXTERN_API( VideoDigitizerError )
  1753. VDGetSaturation                    (VideoDigitizerComponent  ci,
  1754.                                  unsigned short *        saturation)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0015, 0x7000, 0xA82A);
  1755.  
  1756. EXTERN_API( VideoDigitizerError )
  1757. VDGrabOneFrame                    (VideoDigitizerComponent  ci)                                FIVEWORDINLINE(0x2F3C, 0x0000, 0x0016, 0x7000, 0xA82A);
  1758.  
  1759. EXTERN_API( VideoDigitizerError )
  1760. VDGetMaxAuxBuffer                (VideoDigitizerComponent  ci,
  1761.                                  PixMapHandle *            pm,
  1762.                                  Rect *                    r)                                    FIVEWORDINLINE(0x2F3C, 0x0008, 0x0017, 0x7000, 0xA82A);
  1763.  
  1764. EXTERN_API( VideoDigitizerError )
  1765. VDGetDigitizerInfo                (VideoDigitizerComponent  ci,
  1766.                                  DigitizerInfo *        info)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0019, 0x7000, 0xA82A);
  1767.  
  1768. EXTERN_API( VideoDigitizerError )
  1769. VDGetCurrentFlags                (VideoDigitizerComponent  ci,
  1770.                                  long *                    inputCurrentFlag,
  1771.                                  long *                    outputCurrentFlag)                    FIVEWORDINLINE(0x2F3C, 0x0008, 0x001A, 0x7000, 0xA82A);
  1772.  
  1773. EXTERN_API( VideoDigitizerError )
  1774. VDSetKeyColor                    (VideoDigitizerComponent  ci,
  1775.                                  long                     index)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x001B, 0x7000, 0xA82A);
  1776.  
  1777. EXTERN_API( VideoDigitizerError )
  1778. VDGetKeyColor                    (VideoDigitizerComponent  ci,
  1779.                                  long *                    index)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x001C, 0x7000, 0xA82A);
  1780.  
  1781. EXTERN_API( VideoDigitizerError )
  1782. VDAddKeyColor                    (VideoDigitizerComponent  ci,
  1783.                                  long *                    index)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x001D, 0x7000, 0xA82A);
  1784.  
  1785. EXTERN_API( VideoDigitizerError )
  1786. VDGetNextKeyColor                (VideoDigitizerComponent  ci,
  1787.                                  long                     index)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x001E, 0x7000, 0xA82A);
  1788.  
  1789. EXTERN_API( VideoDigitizerError )
  1790. VDSetKeyColorRange                (VideoDigitizerComponent  ci,
  1791.                                  RGBColor *                minRGB,
  1792.                                  RGBColor *                maxRGB)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x001F, 0x7000, 0xA82A);
  1793.  
  1794. EXTERN_API( VideoDigitizerError )
  1795. VDGetKeyColorRange                (VideoDigitizerComponent  ci,
  1796.                                  RGBColor *                minRGB,
  1797.                                  RGBColor *                maxRGB)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x0020, 0x7000, 0xA82A);
  1798.  
  1799. EXTERN_API( VideoDigitizerError )
  1800. VDSetDigitizerUserInterrupt        (VideoDigitizerComponent  ci,
  1801.                                  long                     flags,
  1802.                                  VdigIntUPP             userInterruptProc,
  1803.                                  long                     refcon)                                FIVEWORDINLINE(0x2F3C, 0x000C, 0x0021, 0x7000, 0xA82A);
  1804.  
  1805. EXTERN_API( VideoDigitizerError )
  1806. VDSetInputColorSpaceMode        (VideoDigitizerComponent  ci,
  1807.                                  short                     colorSpaceMode)                        FIVEWORDINLINE(0x2F3C, 0x0002, 0x0022, 0x7000, 0xA82A);
  1808.  
  1809. EXTERN_API( VideoDigitizerError )
  1810. VDGetInputColorSpaceMode        (VideoDigitizerComponent  ci,
  1811.                                  short *                colorSpaceMode)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0023, 0x7000, 0xA82A);
  1812.  
  1813. EXTERN_API( VideoDigitizerError )
  1814. VDSetClipState                    (VideoDigitizerComponent  ci,
  1815.                                  short                     clipEnable)                            FIVEWORDINLINE(0x2F3C, 0x0002, 0x0024, 0x7000, 0xA82A);
  1816.  
  1817. EXTERN_API( VideoDigitizerError )
  1818. VDGetClipState                    (VideoDigitizerComponent  ci,
  1819.                                  short *                clipEnable)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0025, 0x7000, 0xA82A);
  1820.  
  1821. EXTERN_API( VideoDigitizerError )
  1822. VDSetClipRgn                    (VideoDigitizerComponent  ci,
  1823.                                  RgnHandle                 clipRegion)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0026, 0x7000, 0xA82A);
  1824.  
  1825. EXTERN_API( VideoDigitizerError )
  1826. VDClearClipRgn                    (VideoDigitizerComponent  ci,
  1827.                                  RgnHandle                 clipRegion)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0027, 0x7000, 0xA82A);
  1828.  
  1829. EXTERN_API( VideoDigitizerError )
  1830. VDGetCLUTInUse                    (VideoDigitizerComponent  ci,
  1831.                                  CTabHandle *            colorTableHandle)                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0028, 0x7000, 0xA82A);
  1832.  
  1833. EXTERN_API( VideoDigitizerError )
  1834. VDSetPLLFilterType                (VideoDigitizerComponent  ci,
  1835.                                  short                     pllType)                            FIVEWORDINLINE(0x2F3C, 0x0002, 0x0029, 0x7000, 0xA82A);
  1836.  
  1837. EXTERN_API( VideoDigitizerError )
  1838. VDGetPLLFilterType                (VideoDigitizerComponent  ci,
  1839.                                  short *                pllType)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x002A, 0x7000, 0xA82A);
  1840.  
  1841. EXTERN_API( VideoDigitizerError )
  1842. VDGetMaskandValue                (VideoDigitizerComponent  ci,
  1843.                                  unsigned short         blendLevel,
  1844.                                  long *                    mask,
  1845.                                  long *                    value)                                FIVEWORDINLINE(0x2F3C, 0x000A, 0x002B, 0x7000, 0xA82A);
  1846.  
  1847. EXTERN_API( VideoDigitizerError )
  1848. VDSetMasterBlendLevel            (VideoDigitizerComponent  ci,
  1849.                                  unsigned short *        blendLevel)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x002C, 0x7000, 0xA82A);
  1850.  
  1851. EXTERN_API( VideoDigitizerError )
  1852. VDSetPlayThruDestination        (VideoDigitizerComponent  ci,
  1853.                                  PixMapHandle             dest,
  1854.                                  RectPtr                 destRect,
  1855.                                  MatrixRecordPtr         m,
  1856.                                  RgnHandle                 mask)                                FIVEWORDINLINE(0x2F3C, 0x0010, 0x002D, 0x7000, 0xA82A);
  1857.  
  1858. EXTERN_API( VideoDigitizerError )
  1859. VDSetPlayThruOnOff                (VideoDigitizerComponent  ci,
  1860.                                  short                     state)                                FIVEWORDINLINE(0x2F3C, 0x0002, 0x002E, 0x7000, 0xA82A);
  1861.  
  1862. EXTERN_API( VideoDigitizerError )
  1863. VDSetFieldPreference            (VideoDigitizerComponent  ci,
  1864.                                  short                     fieldFlag)                            FIVEWORDINLINE(0x2F3C, 0x0002, 0x002F, 0x7000, 0xA82A);
  1865.  
  1866. EXTERN_API( VideoDigitizerError )
  1867. VDGetFieldPreference            (VideoDigitizerComponent  ci,
  1868.                                  short *                fieldFlag)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0030, 0x7000, 0xA82A);
  1869.  
  1870. EXTERN_API( VideoDigitizerError )
  1871. VDPreflightDestination            (VideoDigitizerComponent  ci,
  1872.                                  Rect *                    digitizerRect,
  1873.                                  PixMap **                dest,
  1874.                                  RectPtr                 destRect,
  1875.                                  MatrixRecordPtr         m)                                    FIVEWORDINLINE(0x2F3C, 0x0010, 0x0032, 0x7000, 0xA82A);
  1876.  
  1877. EXTERN_API( VideoDigitizerError )
  1878. VDPreflightGlobalRect            (VideoDigitizerComponent  ci,
  1879.                                  GrafPtr                 theWindow,
  1880.                                  Rect *                    globalRect)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0033, 0x7000, 0xA82A);
  1881.  
  1882. EXTERN_API( VideoDigitizerError )
  1883. VDSetPlayThruGlobalRect            (VideoDigitizerComponent  ci,
  1884.                                  GrafPtr                 theWindow,
  1885.                                  Rect *                    globalRect)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0034, 0x7000, 0xA82A);
  1886.  
  1887. EXTERN_API( VideoDigitizerError )
  1888. VDSetInputGammaRecord            (VideoDigitizerComponent  ci,
  1889.                                  VDGamRecPtr             inputGammaPtr)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0035, 0x7000, 0xA82A);
  1890.  
  1891. EXTERN_API( VideoDigitizerError )
  1892. VDGetInputGammaRecord            (VideoDigitizerComponent  ci,
  1893.                                  VDGamRecPtr *            inputGammaPtr)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0036, 0x7000, 0xA82A);
  1894.  
  1895. EXTERN_API( VideoDigitizerError )
  1896. VDSetBlackLevelValue            (VideoDigitizerComponent  ci,
  1897.                                  unsigned short *        blackLevel)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0037, 0x7000, 0xA82A);
  1898.  
  1899. EXTERN_API( VideoDigitizerError )
  1900. VDGetBlackLevelValue            (VideoDigitizerComponent  ci,
  1901.                                  unsigned short *        blackLevel)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0038, 0x7000, 0xA82A);
  1902.  
  1903. EXTERN_API( VideoDigitizerError )
  1904. VDSetWhiteLevelValue            (VideoDigitizerComponent  ci,
  1905.                                  unsigned short *        whiteLevel)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0039, 0x7000, 0xA82A);
  1906.  
  1907. EXTERN_API( VideoDigitizerError )
  1908. VDGetWhiteLevelValue            (VideoDigitizerComponent  ci,
  1909.                                  unsigned short *        whiteLevel)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x003A, 0x7000, 0xA82A);
  1910.  
  1911. EXTERN_API( VideoDigitizerError )
  1912. VDGetVideoDefaults                (VideoDigitizerComponent  ci,
  1913.                                  unsigned short *        blackLevel,
  1914.                                  unsigned short *        whiteLevel,
  1915.                                  unsigned short *        brightness,
  1916.                                  unsigned short *        hue,
  1917.                                  unsigned short *        saturation,
  1918.                                  unsigned short *        contrast,
  1919.                                  unsigned short *        sharpness)                            FIVEWORDINLINE(0x2F3C, 0x001C, 0x003B, 0x7000, 0xA82A);
  1920.  
  1921. EXTERN_API( VideoDigitizerError )
  1922. VDGetNumberOfInputs                (VideoDigitizerComponent  ci,
  1923.                                  short *                inputs)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x003C, 0x7000, 0xA82A);
  1924.  
  1925. EXTERN_API( VideoDigitizerError )
  1926. VDGetInputFormat                (VideoDigitizerComponent  ci,
  1927.                                  short                     input,
  1928.                                  short *                format)                                FIVEWORDINLINE(0x2F3C, 0x0006, 0x003D, 0x7000, 0xA82A);
  1929.  
  1930. EXTERN_API( VideoDigitizerError )
  1931. VDSetInput                        (VideoDigitizerComponent  ci,
  1932.                                  short                     input)                                FIVEWORDINLINE(0x2F3C, 0x0002, 0x003E, 0x7000, 0xA82A);
  1933.  
  1934. EXTERN_API( VideoDigitizerError )
  1935. VDGetInput                        (VideoDigitizerComponent  ci,
  1936.                                  short *                input)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x003F, 0x7000, 0xA82A);
  1937.  
  1938. EXTERN_API( VideoDigitizerError )
  1939. VDSetInputStandard                (VideoDigitizerComponent  ci,
  1940.                                  short                     inputStandard)                        FIVEWORDINLINE(0x2F3C, 0x0002, 0x0040, 0x7000, 0xA82A);
  1941.  
  1942. EXTERN_API( VideoDigitizerError )
  1943. VDSetupBuffers                    (VideoDigitizerComponent  ci,
  1944.                                  VdigBufferRecListHandle  bufferList)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0041, 0x7000, 0xA82A);
  1945.  
  1946. EXTERN_API( VideoDigitizerError )
  1947. VDGrabOneFrameAsync                (VideoDigitizerComponent  ci,
  1948.                                  short                     buffer)                                FIVEWORDINLINE(0x2F3C, 0x0002, 0x0042, 0x7000, 0xA82A);
  1949.  
  1950. EXTERN_API( VideoDigitizerError )
  1951. VDDone                            (VideoDigitizerComponent  ci,
  1952.                                  short                     buffer)                                FIVEWORDINLINE(0x2F3C, 0x0002, 0x0043, 0x7000, 0xA82A);
  1953.  
  1954. EXTERN_API( VideoDigitizerError )
  1955. VDSetCompression                (VideoDigitizerComponent  ci,
  1956.                                  OSType                 compressType,
  1957.                                  short                     depth,
  1958.                                  Rect *                    bounds,
  1959.                                  CodecQ                 spatialQuality,
  1960.                                  CodecQ                 temporalQuality,
  1961.                                  long                     keyFrameRate)                        FIVEWORDINLINE(0x2F3C, 0x0016, 0x0044, 0x7000, 0xA82A);
  1962.  
  1963. EXTERN_API( VideoDigitizerError )
  1964. VDCompressOneFrameAsync            (VideoDigitizerComponent  ci)                                FIVEWORDINLINE(0x2F3C, 0x0000, 0x0045, 0x7000, 0xA82A);
  1965.  
  1966. EXTERN_API( VideoDigitizerError )
  1967. VDCompressDone                    (VideoDigitizerComponent  ci,
  1968.                                  Boolean *                done,
  1969.                                  Ptr *                    theData,
  1970.                                  long *                    dataSize,
  1971.                                  UInt8 *                similarity,
  1972.                                  TimeRecord *            t)                                    FIVEWORDINLINE(0x2F3C, 0x0014, 0x0046, 0x7000, 0xA82A);
  1973.  
  1974. EXTERN_API( VideoDigitizerError )
  1975. VDReleaseCompressBuffer            (VideoDigitizerComponent  ci,
  1976.                                  Ptr                     bufferAddr)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0047, 0x7000, 0xA82A);
  1977.  
  1978. EXTERN_API( VideoDigitizerError )
  1979. VDGetImageDescription            (VideoDigitizerComponent  ci,
  1980.                                  ImageDescriptionHandle  desc)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0048, 0x7000, 0xA82A);
  1981.  
  1982. EXTERN_API( VideoDigitizerError )
  1983. VDResetCompressSequence            (VideoDigitizerComponent  ci)                                FIVEWORDINLINE(0x2F3C, 0x0000, 0x0049, 0x7000, 0xA82A);
  1984.  
  1985. EXTERN_API( VideoDigitizerError )
  1986. VDSetCompressionOnOff            (VideoDigitizerComponent  ci,
  1987.                                  Boolean                 state)                                FIVEWORDINLINE(0x2F3C, 0x0002, 0x004A, 0x7000, 0xA82A);
  1988.  
  1989. EXTERN_API( VideoDigitizerError )
  1990. VDGetCompressionTypes            (VideoDigitizerComponent  ci,
  1991.                                  VDCompressionListHandle  h)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x004B, 0x7000, 0xA82A);
  1992.  
  1993. EXTERN_API( VideoDigitizerError )
  1994. VDSetTimeBase                    (VideoDigitizerComponent  ci,
  1995.                                  TimeBase                 t)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x004C, 0x7000, 0xA82A);
  1996.  
  1997. EXTERN_API( VideoDigitizerError )
  1998. VDSetFrameRate                    (VideoDigitizerComponent  ci,
  1999.                                  Fixed                     framesPerSecond)                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x004D, 0x7000, 0xA82A);
  2000.  
  2001. EXTERN_API( VideoDigitizerError )
  2002. VDGetDataRate                    (VideoDigitizerComponent  ci,
  2003.                                  long *                    milliSecPerFrame,
  2004.                                  Fixed *                framesPerSecond,
  2005.                                  long *                    bytesPerSecond)                        FIVEWORDINLINE(0x2F3C, 0x000C, 0x004E, 0x7000, 0xA82A);
  2006.  
  2007. EXTERN_API( VideoDigitizerError )
  2008. VDGetSoundInputDriver            (VideoDigitizerComponent  ci,
  2009.                                  Str255                 soundDriverName)                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x004F, 0x7000, 0xA82A);
  2010.  
  2011. EXTERN_API( VideoDigitizerError )
  2012. VDGetDMADepths                    (VideoDigitizerComponent  ci,
  2013.                                  long *                    depthArray,
  2014.                                  long *                    preferredDepth)                        FIVEWORDINLINE(0x2F3C, 0x0008, 0x0050, 0x7000, 0xA82A);
  2015.  
  2016. EXTERN_API( VideoDigitizerError )
  2017. VDGetPreferredTimeScale            (VideoDigitizerComponent  ci,
  2018.                                  TimeScale *            preferred)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0051, 0x7000, 0xA82A);
  2019.  
  2020. EXTERN_API( VideoDigitizerError )
  2021. VDReleaseAsyncBuffers            (VideoDigitizerComponent  ci)                                FIVEWORDINLINE(0x2F3C, 0x0000, 0x0052, 0x7000, 0xA82A);
  2022.  
  2023. /* 83 is reserved for compatibility reasons */
  2024. EXTERN_API( VideoDigitizerError )
  2025. VDSetDataRate                    (VideoDigitizerComponent  ci,
  2026.                                  long                     bytesPerSecond)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0054, 0x7000, 0xA82A);
  2027.  
  2028. EXTERN_API( VideoDigitizerError )
  2029. VDGetTimeCode                    (VideoDigitizerComponent  ci,
  2030.                                  TimeRecord *            atTime,
  2031.                                  void *                    timeCodeFormat,
  2032.                                  void *                    timeCodeTime)                        FIVEWORDINLINE(0x2F3C, 0x000C, 0x0055, 0x7000, 0xA82A);
  2033.  
  2034. EXTERN_API( VideoDigitizerError )
  2035. VDUseSafeBuffers                (VideoDigitizerComponent  ci,
  2036.                                  Boolean                 useSafeBuffers)                        FIVEWORDINLINE(0x2F3C, 0x0002, 0x0056, 0x7000, 0xA82A);
  2037.  
  2038. EXTERN_API( VideoDigitizerError )
  2039. VDGetSoundInputSource            (VideoDigitizerComponent  ci,
  2040.                                  long                     videoInput,
  2041.                                  long *                    soundInput)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0057, 0x7000, 0xA82A);
  2042.  
  2043. EXTERN_API( VideoDigitizerError )
  2044. VDGetCompressionTime            (VideoDigitizerComponent  ci,
  2045.                                  OSType                 compressionType,
  2046.                                  short                     depth,
  2047.                                  Rect *                    srcRect,
  2048.                                  CodecQ *                spatialQuality,
  2049.                                  CodecQ *                temporalQuality,
  2050.                                  unsigned long *        compressTime)                        FIVEWORDINLINE(0x2F3C, 0x0016, 0x0058, 0x7000, 0xA82A);
  2051.  
  2052. EXTERN_API( VideoDigitizerError )
  2053. VDSetPreferredPacketSize        (VideoDigitizerComponent  ci,
  2054.                                  long                     preferredPacketSizeInBytes)            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0059, 0x7000, 0xA82A);
  2055.  
  2056. EXTERN_API( VideoDigitizerError )
  2057. VDSetPreferredImageDimensions    (VideoDigitizerComponent  ci,
  2058.                                  long                     width,
  2059.                                  long                     height)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x005A, 0x7000, 0xA82A);
  2060.  
  2061. EXTERN_API( VideoDigitizerError )
  2062. VDGetPreferredImageDimensions    (VideoDigitizerComponent  ci,
  2063.                                  long *                    width,
  2064.                                  long *                    height)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x005B, 0x7000, 0xA82A);
  2065.  
  2066. EXTERN_API( VideoDigitizerError )
  2067. VDGetInputName                    (VideoDigitizerComponent  ci,
  2068.                                  long                     videoInput,
  2069.                                  Str255                 name)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x005C, 0x7000, 0xA82A);
  2070.  
  2071.  
  2072.  
  2073. /*
  2074.     General Sequence Grab stuff
  2075. */
  2076.  
  2077. typedef ComponentInstance                 SeqGrabComponent;
  2078. typedef ComponentInstance                 SGChannel;
  2079.  
  2080. enum {
  2081.     SeqGrabComponentType        = FOUR_CHAR_CODE('barg'),
  2082.     SeqGrabChannelType            = FOUR_CHAR_CODE('sgch'),
  2083.     SeqGrabPanelType            = FOUR_CHAR_CODE('sgpn'),
  2084.     SeqGrabCompressionPanelType    = FOUR_CHAR_CODE('cmpr'),
  2085.     SeqGrabSourcePanelType        = FOUR_CHAR_CODE('sour')
  2086. };
  2087.  
  2088.  
  2089. enum {
  2090.     seqGrabToDisk                = 1,
  2091.     seqGrabToMemory                = 2,
  2092.     seqGrabDontUseTempMemory    = 4,
  2093.     seqGrabAppendToFile            = 8,
  2094.     seqGrabDontAddMovieResource    = 16,
  2095.     seqGrabDontMakeMovie        = 32,
  2096.     seqGrabPreExtendFile        = 64,
  2097.     seqGrabDataProcIsInterruptSafe = 128,
  2098.     seqGrabDataProcDoesOverlappingReads = 256
  2099. };
  2100.  
  2101. typedef unsigned long                     SeqGrabDataOutputEnum;
  2102.  
  2103. enum {
  2104.     seqGrabRecord                = 1,
  2105.     seqGrabPreview                = 2,
  2106.     seqGrabPlayDuringRecord        = 4
  2107. };
  2108.  
  2109. typedef unsigned long                     SeqGrabUsageEnum;
  2110.  
  2111. enum {
  2112.     seqGrabHasBounds            = 1,
  2113.     seqGrabHasVolume            = 2,
  2114.     seqGrabHasDiscreteSamples    = 4
  2115. };
  2116.  
  2117. typedef unsigned long                     SeqGrabChannelInfoEnum;
  2118.  
  2119. struct SGOutputRecord {
  2120.     long                             data[1];
  2121. };
  2122. typedef struct SGOutputRecord            SGOutputRecord;
  2123.  
  2124. typedef SGOutputRecord *                SGOutput;
  2125.  
  2126. struct SeqGrabFrameInfo {
  2127.     long                             frameOffset;
  2128.     long                             frameTime;
  2129.     long                             frameSize;
  2130.     SGChannel                         frameChannel;
  2131.     long                             frameRefCon;
  2132. };
  2133. typedef struct SeqGrabFrameInfo            SeqGrabFrameInfo;
  2134. typedef SeqGrabFrameInfo *                SeqGrabFrameInfoPtr;
  2135.  
  2136. struct SeqGrabExtendedFrameInfo {
  2137.     wide                             frameOffset;
  2138.     long                             frameTime;
  2139.     long                             frameSize;
  2140.     SGChannel                         frameChannel;
  2141.     long                             frameRefCon;
  2142.     SGOutput                         frameOutput;
  2143. };
  2144. typedef struct SeqGrabExtendedFrameInfo    SeqGrabExtendedFrameInfo;
  2145. typedef SeqGrabExtendedFrameInfo *        SeqGrabExtendedFrameInfoPtr;
  2146.  
  2147. enum {
  2148.     grabPictOffScreen            = 1,
  2149.     grabPictIgnoreClip            = 2,
  2150.     grabPictCurrentImage        = 4
  2151. };
  2152.  
  2153.  
  2154. enum {
  2155.     sgFlagControlledGrab        = (1 << 0)
  2156. };
  2157.  
  2158. typedef CALLBACK_API( OSErr , SGDataProcPtr )(SGChannel c, Ptr p, long len, long *offset, long chRefCon, TimeValue time, short writeType, long refCon);
  2159. typedef STACK_UPP_TYPE(SGDataProcPtr)                             SGDataUPP;
  2160.  
  2161. struct SGDeviceName {
  2162.     Str63                             name;
  2163.     Handle                             icon;
  2164.     long                             flags;
  2165.     long                             refCon;
  2166.     long                             reserved;                    /* zero*/
  2167. };
  2168. typedef struct SGDeviceName                SGDeviceName;
  2169.  
  2170. enum {
  2171.     sgDeviceNameFlagDeviceUnavailable = (1 << 0)
  2172. };
  2173.  
  2174.  
  2175. struct SGDeviceListRecord {
  2176.     short                             count;
  2177.     short                             selectedIndex;
  2178.     long                             reserved;                    /* zero*/
  2179.     SGDeviceName                     entry[1];
  2180. };
  2181. typedef struct SGDeviceListRecord        SGDeviceListRecord;
  2182.  
  2183. typedef SGDeviceListRecord *            SGDeviceListPtr;
  2184. typedef SGDeviceListPtr *                SGDeviceList;
  2185.  
  2186. enum {
  2187.     sgDeviceListWithIcons        = (1 << 0),
  2188.     sgDeviceListDontCheckAvailability = (1 << 1)
  2189. };
  2190.  
  2191.  
  2192. enum {
  2193.     seqGrabWriteAppend            = 0,
  2194.     seqGrabWriteReserve            = 1,
  2195.     seqGrabWriteFill            = 2
  2196. };
  2197.  
  2198.  
  2199. enum {
  2200.     seqGrabUnpause                = 0,
  2201.     seqGrabPause                = 1,
  2202.     seqGrabPauseForMenu            = 3
  2203. };
  2204.  
  2205.  
  2206. enum {
  2207.     channelFlagDontOpenResFile    = 2,
  2208.     channelFlagHasDependency    = 4
  2209. };
  2210.  
  2211. typedef CALLBACK_API( Boolean , SGModalFilterProcPtr )(DialogPtr theDialog, const EventRecord *theEvent, short *itemHit, long refCon);
  2212. typedef STACK_UPP_TYPE(SGModalFilterProcPtr)                     SGModalFilterUPP;
  2213.  
  2214. enum {
  2215.     sgPanelFlagForPanel            = 1
  2216. };
  2217.  
  2218.  
  2219. enum {
  2220.     seqGrabSettingsPreviewOnly    = 1
  2221. };
  2222.  
  2223.  
  2224. enum {
  2225.     channelPlayNormal            = 0,
  2226.     channelPlayFast                = 1,
  2227.     channelPlayHighQuality        = 2,
  2228.     channelPlayAllData            = 4
  2229. };
  2230.  
  2231.  
  2232. EXTERN_API( ComponentResult )
  2233. SGInitialize                    (SeqGrabComponent         s)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x0001, 0x7000, 0xA82A);
  2234.  
  2235. EXTERN_API( ComponentResult )
  2236. SGSetDataOutput                    (SeqGrabComponent         s,
  2237.                                  const FSSpec *            movieFile,
  2238.                                  long                     whereFlags)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0002, 0x7000, 0xA82A);
  2239.  
  2240. EXTERN_API( ComponentResult )
  2241. SGGetDataOutput                    (SeqGrabComponent         s,
  2242.                                  FSSpec *                movieFile,
  2243.                                  long *                    whereFlags)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0003, 0x7000, 0xA82A);
  2244.  
  2245. EXTERN_API( ComponentResult )
  2246. SGSetGWorld                        (SeqGrabComponent         s,
  2247.                                  CGrafPtr                 gp,
  2248.                                  GDHandle                 gd)                                    FIVEWORDINLINE(0x2F3C, 0x0008, 0x0004, 0x7000, 0xA82A);
  2249.  
  2250. EXTERN_API( ComponentResult )
  2251. SGGetGWorld                        (SeqGrabComponent         s,
  2252.                                  CGrafPtr *                gp,
  2253.                                  GDHandle *                gd)                                    FIVEWORDINLINE(0x2F3C, 0x0008, 0x0005, 0x7000, 0xA82A);
  2254.  
  2255. EXTERN_API( ComponentResult )
  2256. SGNewChannel                    (SeqGrabComponent         s,
  2257.                                  OSType                 channelType,
  2258.                                  SGChannel *            ref)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x0006, 0x7000, 0xA82A);
  2259.  
  2260. EXTERN_API( ComponentResult )
  2261. SGDisposeChannel                (SeqGrabComponent         s,
  2262.                                  SGChannel                 c)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
  2263.  
  2264. EXTERN_API( ComponentResult )
  2265. SGStartPreview                    (SeqGrabComponent         s)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x0010, 0x7000, 0xA82A);
  2266.  
  2267. EXTERN_API( ComponentResult )
  2268. SGStartRecord                    (SeqGrabComponent         s)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x0011, 0x7000, 0xA82A);
  2269.  
  2270. EXTERN_API( ComponentResult )
  2271. SGIdle                            (SeqGrabComponent         s)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x0012, 0x7000, 0xA82A);
  2272.  
  2273. EXTERN_API( ComponentResult )
  2274. SGStop                            (SeqGrabComponent         s)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x0013, 0x7000, 0xA82A);
  2275.  
  2276. EXTERN_API( ComponentResult )
  2277. SGPause                            (SeqGrabComponent         s,
  2278.                                  Byte                     pause)                                FIVEWORDINLINE(0x2F3C, 0x0002, 0x0014, 0x7000, 0xA82A);
  2279.  
  2280. EXTERN_API( ComponentResult )
  2281. SGPrepare                        (SeqGrabComponent         s,
  2282.                                  Boolean                 prepareForPreview,
  2283.                                  Boolean                 prepareForRecord)                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0015, 0x7000, 0xA82A);
  2284.  
  2285. EXTERN_API( ComponentResult )
  2286. SGRelease                        (SeqGrabComponent         s)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x0016, 0x7000, 0xA82A);
  2287.  
  2288. EXTERN_API( Movie )
  2289. SGGetMovie                        (SeqGrabComponent         s)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x0017, 0x7000, 0xA82A);
  2290.  
  2291. EXTERN_API( ComponentResult )
  2292. SGSetMaximumRecordTime            (SeqGrabComponent         s,
  2293.                                  unsigned long             ticks)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0018, 0x7000, 0xA82A);
  2294.  
  2295. EXTERN_API( ComponentResult )
  2296. SGGetMaximumRecordTime            (SeqGrabComponent         s,
  2297.                                  unsigned long *        ticks)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0019, 0x7000, 0xA82A);
  2298.  
  2299. EXTERN_API( ComponentResult )
  2300. SGGetStorageSpaceRemaining        (SeqGrabComponent         s,
  2301.                                  unsigned long *        bytes)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x001A, 0x7000, 0xA82A);
  2302.  
  2303. EXTERN_API( ComponentResult )
  2304. SGGetTimeRemaining                (SeqGrabComponent         s,
  2305.                                  long *                    ticksLeft)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x001B, 0x7000, 0xA82A);
  2306.  
  2307. EXTERN_API( ComponentResult )
  2308. SGGrabPict                        (SeqGrabComponent         s,
  2309.                                  PicHandle *            p,
  2310.                                  const Rect *            bounds,
  2311.                                  short                     offscreenDepth,
  2312.                                  long                     grabPictFlags)                        FIVEWORDINLINE(0x2F3C, 0x000E, 0x001C, 0x7000, 0xA82A);
  2313.  
  2314. EXTERN_API( ComponentResult )
  2315. SGGetLastMovieResID                (SeqGrabComponent         s,
  2316.                                  short *                resID)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x001D, 0x7000, 0xA82A);
  2317.  
  2318. EXTERN_API( ComponentResult )
  2319. SGSetFlags                        (SeqGrabComponent         s,
  2320.                                  long                     sgFlags)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x001E, 0x7000, 0xA82A);
  2321.  
  2322. EXTERN_API( ComponentResult )
  2323. SGGetFlags                        (SeqGrabComponent         s,
  2324.                                  long *                    sgFlags)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x001F, 0x7000, 0xA82A);
  2325.  
  2326. EXTERN_API( ComponentResult )
  2327. SGSetDataProc                    (SeqGrabComponent         s,
  2328.                                  SGDataUPP                 proc,
  2329.                                  long                     refCon)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x0020, 0x7000, 0xA82A);
  2330.  
  2331. EXTERN_API( ComponentResult )
  2332. SGNewChannelFromComponent        (SeqGrabComponent         s,
  2333.                                  SGChannel *            newChannel,
  2334.                                  Component                 sgChannelComponent)                    FIVEWORDINLINE(0x2F3C, 0x0008, 0x0021, 0x7000, 0xA82A);
  2335.  
  2336. EXTERN_API( ComponentResult )
  2337. SGDisposeDeviceList                (SeqGrabComponent         s,
  2338.                                  SGDeviceList             list)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0022, 0x7000, 0xA82A);
  2339.  
  2340. EXTERN_API( ComponentResult )
  2341. SGAppendDeviceListToMenu        (SeqGrabComponent         s,
  2342.                                  SGDeviceList             list,
  2343.                                  MenuHandle             mh)                                    FIVEWORDINLINE(0x2F3C, 0x0008, 0x0023, 0x7000, 0xA82A);
  2344.  
  2345. EXTERN_API( ComponentResult )
  2346. SGSetSettings                    (SeqGrabComponent         s,
  2347.                                  UserData                 ud,
  2348.                                  long                     flags)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x0024, 0x7000, 0xA82A);
  2349.  
  2350. EXTERN_API( ComponentResult )
  2351. SGGetSettings                    (SeqGrabComponent         s,
  2352.                                  UserData *                ud,
  2353.                                  long                     flags)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x0025, 0x7000, 0xA82A);
  2354.  
  2355. EXTERN_API( ComponentResult )
  2356. SGGetIndChannel                    (SeqGrabComponent         s,
  2357.                                  short                     index,
  2358.                                  SGChannel *            ref,
  2359.                                  OSType *                chanType)                            FIVEWORDINLINE(0x2F3C, 0x000A, 0x0026, 0x7000, 0xA82A);
  2360.  
  2361. EXTERN_API( ComponentResult )
  2362. SGUpdate                        (SeqGrabComponent         s,
  2363.                                  RgnHandle                 updateRgn)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0027, 0x7000, 0xA82A);
  2364.  
  2365. EXTERN_API( ComponentResult )
  2366. SGGetPause                        (SeqGrabComponent         s,
  2367.                                  Byte *                    paused)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0028, 0x7000, 0xA82A);
  2368.  
  2369. typedef const Component *                ConstComponentListPtr;
  2370. EXTERN_API( ComponentResult )
  2371. SGSettingsDialog                (SeqGrabComponent         s,
  2372.                                  SGChannel                 c,
  2373.                                  short                     numPanels,
  2374.                                  ConstComponentListPtr     panelList,
  2375.                                  long                     flags,
  2376.                                  SGModalFilterUPP         proc,
  2377.                                  long                     procRefNum)                            FIVEWORDINLINE(0x2F3C, 0x0016, 0x0029, 0x7000, 0xA82A);
  2378.  
  2379. EXTERN_API( ComponentResult )
  2380. SGGetAlignmentProc                (SeqGrabComponent         s,
  2381.                                  ICMAlignmentProcRecordPtr  alignmentProc)                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x002A, 0x7000, 0xA82A);
  2382.  
  2383. EXTERN_API( ComponentResult )
  2384. SGSetChannelSettings            (SeqGrabComponent         s,
  2385.                                  SGChannel                 c,
  2386.                                  UserData                 ud,
  2387.                                  long                     flags)                                FIVEWORDINLINE(0x2F3C, 0x000C, 0x002B, 0x7000, 0xA82A);
  2388.  
  2389. EXTERN_API( ComponentResult )
  2390. SGGetChannelSettings            (SeqGrabComponent         s,
  2391.                                  SGChannel                 c,
  2392.                                  UserData *                ud,
  2393.                                  long                     flags)                                FIVEWORDINLINE(0x2F3C, 0x000C, 0x002C, 0x7000, 0xA82A);
  2394.  
  2395. EXTERN_API( ComponentResult )
  2396. SGGetMode                        (SeqGrabComponent         s,
  2397.                                  Boolean *                previewMode,
  2398.                                  Boolean *                recordMode)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x002D, 0x7000, 0xA82A);
  2399.  
  2400. EXTERN_API( ComponentResult )
  2401. SGSetDataRef                    (SeqGrabComponent         s,
  2402.                                  Handle                 dataRef,
  2403.                                  OSType                 dataRefType,
  2404.                                  long                     whereFlags)                            FIVEWORDINLINE(0x2F3C, 0x000C, 0x002E, 0x7000, 0xA82A);
  2405.  
  2406. EXTERN_API( ComponentResult )
  2407. SGGetDataRef                    (SeqGrabComponent         s,
  2408.                                  Handle *                dataRef,
  2409.                                  OSType *                dataRefType,
  2410.                                  long *                    whereFlags)                            FIVEWORDINLINE(0x2F3C, 0x000C, 0x002F, 0x7000, 0xA82A);
  2411.  
  2412. EXTERN_API( ComponentResult )
  2413. SGNewOutput                        (SeqGrabComponent         s,
  2414.                                  Handle                 dataRef,
  2415.                                  OSType                 dataRefType,
  2416.                                  long                     whereFlags,
  2417.                                  SGOutput *                sgOut)                                FIVEWORDINLINE(0x2F3C, 0x0010, 0x0030, 0x7000, 0xA82A);
  2418.  
  2419. EXTERN_API( ComponentResult )
  2420. SGDisposeOutput                    (SeqGrabComponent         s,
  2421.                                  SGOutput                 sgOut)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0031, 0x7000, 0xA82A);
  2422.  
  2423. EXTERN_API( ComponentResult )
  2424. SGSetOutputFlags                (SeqGrabComponent         s,
  2425.                                  SGOutput                 sgOut,
  2426.                                  long                     whereFlags)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0032, 0x7000, 0xA82A);
  2427.  
  2428. EXTERN_API( ComponentResult )
  2429. SGSetChannelOutput                (SeqGrabComponent         s,
  2430.                                  SGChannel                 c,
  2431.                                  SGOutput                 sgOut)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x0033, 0x7000, 0xA82A);
  2432.  
  2433. EXTERN_API( ComponentResult )
  2434. SGGetDataOutputStorageSpaceRemaining (SeqGrabComponent     s,
  2435.                                  SGOutput                 sgOut,
  2436.                                  unsigned long *        space)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x0034, 0x7000, 0xA82A);
  2437.  
  2438. EXTERN_API( ComponentResult )
  2439. SGHandleUpdateEvent                (SeqGrabComponent         s,
  2440.                                  const EventRecord *    event,
  2441.                                  Boolean *                handled)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0035, 0x7000, 0xA82A);
  2442.  
  2443. EXTERN_API( ComponentResult )
  2444. SGSetOutputNextOutput            (SeqGrabComponent         s,
  2445.                                  SGOutput                 sgOut,
  2446.                                  SGOutput                 nextOut)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0036, 0x7000, 0xA82A);
  2447.  
  2448. EXTERN_API( ComponentResult )
  2449. SGGetOutputNextOutput            (SeqGrabComponent         s,
  2450.                                  SGOutput                 sgOut,
  2451.                                  SGOutput *                nextOut)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0037, 0x7000, 0xA82A);
  2452.  
  2453. EXTERN_API( ComponentResult )
  2454. SGSetOutputMaximumOffset        (SeqGrabComponent         s,
  2455.                                  SGOutput                 sgOut,
  2456.                                  const wide *            maxOffset)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0038, 0x7000, 0xA82A);
  2457.  
  2458. EXTERN_API( ComponentResult )
  2459. SGGetOutputMaximumOffset        (SeqGrabComponent         s,
  2460.                                  SGOutput                 sgOut,
  2461.                                  wide *                    maxOffset)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0039, 0x7000, 0xA82A);
  2462.  
  2463. EXTERN_API( ComponentResult )
  2464. SGGetOutputDataReference        (SeqGrabComponent         s,
  2465.                                  SGOutput                 sgOut,
  2466.                                  Handle *                dataRef,
  2467.                                  OSType *                dataRefType)                        FIVEWORDINLINE(0x2F3C, 0x000C, 0x003A, 0x7000, 0xA82A);
  2468.  
  2469. EXTERN_API( ComponentResult )
  2470. SGWriteExtendedMovieData        (SeqGrabComponent         s,
  2471.                                  SGChannel                 c,
  2472.                                  Ptr                     p,
  2473.                                  long                     len,
  2474.                                  wide *                    offset,
  2475.                                  SGOutput *                sgOut)                                FIVEWORDINLINE(0x2F3C, 0x0014, 0x003B, 0x7000, 0xA82A);
  2476.  
  2477. /*
  2478.     calls from Channel to seqGrab
  2479. */
  2480. EXTERN_API( ComponentResult )
  2481. SGWriteMovieData                (SeqGrabComponent         s,
  2482.                                  SGChannel                 c,
  2483.                                  Ptr                     p,
  2484.                                  long                     len,
  2485.                                  long *                    offset)                                FIVEWORDINLINE(0x2F3C, 0x0010, 0x0100, 0x7000, 0xA82A);
  2486.  
  2487. EXTERN_API( ComponentResult )
  2488. SGAddFrameReference                (SeqGrabComponent         s,
  2489.                                  SeqGrabFrameInfoPtr     frameInfo)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
  2490.  
  2491. EXTERN_API( ComponentResult )
  2492. SGGetNextFrameReference            (SeqGrabComponent         s,
  2493.                                  SeqGrabFrameInfoPtr     frameInfo,
  2494.                                  TimeValue *            frameDuration,
  2495.                                  long *                    frameNumber)                        FIVEWORDINLINE(0x2F3C, 0x000C, 0x0102, 0x7000, 0xA82A);
  2496.  
  2497. EXTERN_API( ComponentResult )
  2498. SGGetTimeBase                    (SeqGrabComponent         s,
  2499.                                  TimeBase *                tb)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
  2500.  
  2501. EXTERN_API( ComponentResult )
  2502. SGSortDeviceList                (SeqGrabComponent         s,
  2503.                                  SGDeviceList             list)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0104, 0x7000, 0xA82A);
  2504.  
  2505. EXTERN_API( ComponentResult )
  2506. SGAddMovieData                    (SeqGrabComponent         s,
  2507.                                  SGChannel                 c,
  2508.                                  Ptr                     p,
  2509.                                  long                     len,
  2510.                                  long *                    offset,
  2511.                                  long                     chRefCon,
  2512.                                  TimeValue                 time,
  2513.                                  short                     writeType)                            FIVEWORDINLINE(0x2F3C, 0x001A, 0x0105, 0x7000, 0xA82A);
  2514.  
  2515. EXTERN_API( ComponentResult )
  2516. SGChangedSource                    (SeqGrabComponent         s,
  2517.                                  SGChannel                 c)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0106, 0x7000, 0xA82A);
  2518.  
  2519. EXTERN_API( ComponentResult )
  2520. SGAddExtendedFrameReference        (SeqGrabComponent         s,
  2521.                                  SeqGrabExtendedFrameInfoPtr  frameInfo)                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0107, 0x7000, 0xA82A);
  2522.  
  2523. EXTERN_API( ComponentResult )
  2524. SGGetNextExtendedFrameReference    (SeqGrabComponent         s,
  2525.                                  SeqGrabExtendedFrameInfoPtr  frameInfo,
  2526.                                  TimeValue *            frameDuration,
  2527.                                  long *                    frameNumber)                        FIVEWORDINLINE(0x2F3C, 0x000C, 0x0108, 0x7000, 0xA82A);
  2528.  
  2529. EXTERN_API( ComponentResult )
  2530. SGAddExtendedMovieData            (SeqGrabComponent         s,
  2531.                                  SGChannel                 c,
  2532.                                  Ptr                     p,
  2533.                                  long                     len,
  2534.                                  wide *                    offset,
  2535.                                  long                     chRefCon,
  2536.                                  TimeValue                 time,
  2537.                                  short                     writeType,
  2538.                                  SGOutput *                whichOutput)                        FIVEWORDINLINE(0x2F3C, 0x001E, 0x0109, 0x7000, 0xA82A);
  2539.  
  2540. EXTERN_API( ComponentResult )
  2541. SGAddOutputDataRefToMedia        (SeqGrabComponent         s,
  2542.                                  SGOutput                 sgOut,
  2543.                                  Media                     theMedia,
  2544.                                  SampleDescriptionHandle  desc)                                FIVEWORDINLINE(0x2F3C, 0x000C, 0x010A, 0x7000, 0xA82A);
  2545.  
  2546.  
  2547.  
  2548. /*** Sequence Grab CHANNEL Component Stuff ***/
  2549.  
  2550. EXTERN_API( ComponentResult )
  2551. SGSetChannelUsage                (SGChannel                 c,
  2552.                                  long                     usage)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0080, 0x7000, 0xA82A);
  2553.  
  2554. EXTERN_API( ComponentResult )
  2555. SGGetChannelUsage                (SGChannel                 c,
  2556.                                  long *                    usage)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0081, 0x7000, 0xA82A);
  2557.  
  2558. EXTERN_API( ComponentResult )
  2559. SGSetChannelBounds                (SGChannel                 c,
  2560.                                  const Rect *            bounds)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0082, 0x7000, 0xA82A);
  2561.  
  2562. EXTERN_API( ComponentResult )
  2563. SGGetChannelBounds                (SGChannel                 c,
  2564.                                  Rect *                    bounds)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0083, 0x7000, 0xA82A);
  2565.  
  2566. EXTERN_API( ComponentResult )
  2567. SGSetChannelVolume                (SGChannel                 c,
  2568.                                  short                     volume)                                FIVEWORDINLINE(0x2F3C, 0x0002, 0x0084, 0x7000, 0xA82A);
  2569.  
  2570. EXTERN_API( ComponentResult )
  2571. SGGetChannelVolume                (SGChannel                 c,
  2572.                                  short *                volume)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0085, 0x7000, 0xA82A);
  2573.  
  2574. EXTERN_API( ComponentResult )
  2575. SGGetChannelInfo                (SGChannel                 c,
  2576.                                  long *                    channelInfo)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0086, 0x7000, 0xA82A);
  2577.  
  2578. EXTERN_API( ComponentResult )
  2579. SGSetChannelPlayFlags            (SGChannel                 c,
  2580.                                  long                     playFlags)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0087, 0x7000, 0xA82A);
  2581.  
  2582. EXTERN_API( ComponentResult )
  2583. SGGetChannelPlayFlags            (SGChannel                 c,
  2584.                                  long *                    playFlags)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0088, 0x7000, 0xA82A);
  2585.  
  2586. EXTERN_API( ComponentResult )
  2587. SGSetChannelMaxFrames            (SGChannel                 c,
  2588.                                  long                     frameCount)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0089, 0x7000, 0xA82A);
  2589.  
  2590. EXTERN_API( ComponentResult )
  2591. SGGetChannelMaxFrames            (SGChannel                 c,
  2592.                                  long *                    frameCount)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x008A, 0x7000, 0xA82A);
  2593.  
  2594. EXTERN_API( ComponentResult )
  2595. SGSetChannelRefCon                (SGChannel                 c,
  2596.                                  long                     refCon)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x008B, 0x7000, 0xA82A);
  2597.  
  2598. EXTERN_API( ComponentResult )
  2599. SGSetChannelClip                (SGChannel                 c,
  2600.                                  RgnHandle                 theClip)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x008C, 0x7000, 0xA82A);
  2601.  
  2602. EXTERN_API( ComponentResult )
  2603. SGGetChannelClip                (SGChannel                 c,
  2604.                                  RgnHandle *            theClip)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x008D, 0x7000, 0xA82A);
  2605.  
  2606. EXTERN_API( ComponentResult )
  2607. SGGetChannelSampleDescription    (SGChannel                 c,
  2608.                                  Handle                 sampleDesc)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x008E, 0x7000, 0xA82A);
  2609.  
  2610. EXTERN_API( ComponentResult )
  2611. SGGetChannelDeviceList            (SGChannel                 c,
  2612.                                  long                     selectionFlags,
  2613.                                  SGDeviceList *            list)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x008F, 0x7000, 0xA82A);
  2614.  
  2615. EXTERN_API( ComponentResult )
  2616. SGSetChannelDevice                (SGChannel                 c,
  2617.                                  StringPtr                 name)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0090, 0x7000, 0xA82A);
  2618.  
  2619. EXTERN_API( ComponentResult )
  2620. SGSetChannelMatrix                (SGChannel                 c,
  2621.                                  const MatrixRecord *    m)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0091, 0x7000, 0xA82A);
  2622.  
  2623. EXTERN_API( ComponentResult )
  2624. SGGetChannelMatrix                (SGChannel                 c,
  2625.                                  MatrixRecord *            m)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0092, 0x7000, 0xA82A);
  2626.  
  2627. EXTERN_API( ComponentResult )
  2628. SGGetChannelTimeScale            (SGChannel                 c,
  2629.                                  TimeScale *            scale)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0093, 0x7000, 0xA82A);
  2630.  
  2631. EXTERN_API( ComponentResult )
  2632. SGChannelPutPicture                (SGChannel                 c)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x0094, 0x7000, 0xA82A);
  2633.  
  2634. EXTERN_API( ComponentResult )
  2635. SGChannelSetRequestedDataRate    (SGChannel                 c,
  2636.                                  long                     bytesPerSecond)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0095, 0x7000, 0xA82A);
  2637.  
  2638. EXTERN_API( ComponentResult )
  2639. SGChannelGetRequestedDataRate    (SGChannel                 c,
  2640.                                  long *                    bytesPerSecond)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0096, 0x7000, 0xA82A);
  2641.  
  2642. EXTERN_API( ComponentResult )
  2643. SGChannelSetDataSourceName        (SGChannel                 c,
  2644.                                  ConstStr255Param         name,
  2645.                                  ScriptCode             scriptTag)                            FIVEWORDINLINE(0x2F3C, 0x0006, 0x0097, 0x7000, 0xA82A);
  2646.  
  2647. EXTERN_API( ComponentResult )
  2648. SGChannelGetDataSourceName        (SGChannel                 c,
  2649.                                  Str255                 name,
  2650.                                  ScriptCode *            scriptTag)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0098, 0x7000, 0xA82A);
  2651.  
  2652. /*
  2653.     calls from seqGrab to Channel
  2654. */
  2655. EXTERN_API( ComponentResult )
  2656. SGInitChannel                    (SGChannel                 c,
  2657.                                  SeqGrabComponent         owner)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0180, 0x7000, 0xA82A);
  2658.  
  2659. EXTERN_API( ComponentResult )
  2660. SGWriteSamples                    (SGChannel                 c,
  2661.                                  Movie                     m,
  2662.                                  AliasHandle             theFile)                            FIVEWORDINLINE(0x2F3C, 0x0008, 0x0181, 0x7000, 0xA82A);
  2663.  
  2664. EXTERN_API( ComponentResult )
  2665. SGGetDataRate                    (SGChannel                 c,
  2666.                                  long *                    bytesPerSecond)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0182, 0x7000, 0xA82A);
  2667.  
  2668. EXTERN_API( ComponentResult )
  2669. SGAlignChannelRect                (SGChannel                 c,
  2670.                                  Rect *                    r)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0183, 0x7000, 0xA82A);
  2671.  
  2672. /*
  2673.     Dorky dialog panel calls
  2674. */
  2675. EXTERN_API( ComponentResult )
  2676. SGPanelGetDitl                    (SeqGrabComponent         s,
  2677.                                  Handle *                ditl)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0200, 0x7000, 0xA82A);
  2678.  
  2679. EXTERN_API( ComponentResult )
  2680. SGPanelGetTitle                    (SeqGrabComponent         s,
  2681.                                  Str255                 title)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0201, 0x7000, 0xA82A);
  2682.  
  2683. EXTERN_API( ComponentResult )
  2684. SGPanelCanRun                    (SeqGrabComponent         s,
  2685.                                  SGChannel                 c)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0202, 0x7000, 0xA82A);
  2686.  
  2687. EXTERN_API( ComponentResult )
  2688. SGPanelInstall                    (SeqGrabComponent         s,
  2689.                                  SGChannel                 c,
  2690.                                  DialogPtr                 d,
  2691.                                  short                     itemOffset)                            FIVEWORDINLINE(0x2F3C, 0x000A, 0x0203, 0x7000, 0xA82A);
  2692.  
  2693. EXTERN_API( ComponentResult )
  2694. SGPanelEvent                    (SeqGrabComponent         s,
  2695.                                  SGChannel                 c,
  2696.                                  DialogPtr                 d,
  2697.                                  short                     itemOffset,
  2698.                                  const EventRecord *    theEvent,
  2699.                                  short *                itemHit,
  2700.                                  Boolean *                handled)                            FIVEWORDINLINE(0x2F3C, 0x0016, 0x0204, 0x7000, 0xA82A);
  2701.  
  2702. EXTERN_API( ComponentResult )
  2703. SGPanelItem                        (SeqGrabComponent         s,
  2704.                                  SGChannel                 c,
  2705.                                  DialogPtr                 d,
  2706.                                  short                     itemOffset,
  2707.                                  short                     itemNum)                            FIVEWORDINLINE(0x2F3C, 0x000C, 0x0205, 0x7000, 0xA82A);
  2708.  
  2709. EXTERN_API( ComponentResult )
  2710. SGPanelRemove                    (SeqGrabComponent         s,
  2711.                                  SGChannel                 c,
  2712.                                  DialogPtr                 d,
  2713.                                  short                     itemOffset)                            FIVEWORDINLINE(0x2F3C, 0x000A, 0x0206, 0x7000, 0xA82A);
  2714.  
  2715. EXTERN_API( ComponentResult )
  2716. SGPanelSetGrabber                (SeqGrabComponent         s,
  2717.                                  SeqGrabComponent         sg)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0207, 0x7000, 0xA82A);
  2718.  
  2719. EXTERN_API( ComponentResult )
  2720. SGPanelSetResFile                (SeqGrabComponent         s,
  2721.                                  short                     resRef)                                FIVEWORDINLINE(0x2F3C, 0x0002, 0x0208, 0x7000, 0xA82A);
  2722.  
  2723. EXTERN_API( ComponentResult )
  2724. SGPanelGetSettings                (SeqGrabComponent         s,
  2725.                                  SGChannel                 c,
  2726.                                  UserData *                ud,
  2727.                                  long                     flags)                                FIVEWORDINLINE(0x2F3C, 0x000C, 0x0209, 0x7000, 0xA82A);
  2728.  
  2729. EXTERN_API( ComponentResult )
  2730. SGPanelSetSettings                (SeqGrabComponent         s,
  2731.                                  SGChannel                 c,
  2732.                                  UserData                 ud,
  2733.                                  long                     flags)                                FIVEWORDINLINE(0x2F3C, 0x000C, 0x020A, 0x7000, 0xA82A);
  2734.  
  2735. EXTERN_API( ComponentResult )
  2736. SGPanelValidateInput            (SeqGrabComponent         s,
  2737.                                  Boolean *                ok)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x020B, 0x7000, 0xA82A);
  2738.  
  2739. EXTERN_API( ComponentResult )
  2740. SGPanelSetEventFilter            (SeqGrabComponent         s,
  2741.                                  SGModalFilterUPP         proc,
  2742.                                  long                     refCon)                                FIVEWORDINLINE(0x2F3C, 0x0008, 0x020C, 0x7000, 0xA82A);
  2743.  
  2744.  
  2745. /*** Sequence Grab VIDEO CHANNEL Component Stuff ***/
  2746. /*
  2747.     Video stuff
  2748. */
  2749.  
  2750. struct SGCompressInfo {
  2751.     Ptr                             buffer;
  2752.     unsigned long                     bufferSize;
  2753.     UInt8                             similarity;
  2754.     UInt8                             reserved;
  2755. };
  2756. typedef struct SGCompressInfo            SGCompressInfo;
  2757. typedef CALLBACK_API( ComponentResult , SGGrabBottleProcPtr )(SGChannel c, short bufferNum, long refCon);
  2758. typedef CALLBACK_API( ComponentResult , SGGrabCompleteBottleProcPtr )(SGChannel c, short bufferNum, Boolean *done, long refCon);
  2759. typedef CALLBACK_API( ComponentResult , SGDisplayBottleProcPtr )(SGChannel c, short bufferNum, MatrixRecord *mp, RgnHandle clipRgn, long refCon);
  2760. typedef CALLBACK_API( ComponentResult , SGCompressBottleProcPtr )(SGChannel c, short bufferNum, long refCon);
  2761. typedef CALLBACK_API( ComponentResult , SGCompressCompleteBottleProcPtr )(SGChannel c, short bufferNum, Boolean *done, SGCompressInfo *ci, long refCon);
  2762. typedef CALLBACK_API( ComponentResult , SGAddFrameBottleProcPtr )(SGChannel c, short bufferNum, TimeValue atTime, TimeScale scale, const SGCompressInfo *ci, long refCon);
  2763. typedef CALLBACK_API( ComponentResult , SGTransferFrameBottleProcPtr )(SGChannel c, short bufferNum, MatrixRecord *mp, RgnHandle clipRgn, long refCon);
  2764. typedef CALLBACK_API( ComponentResult , SGGrabCompressCompleteBottleProcPtr )(SGChannel c, Boolean *done, SGCompressInfo *ci, TimeRecord *t, long refCon);
  2765. typedef CALLBACK_API( ComponentResult , SGDisplayCompressBottleProcPtr )(SGChannel c, Ptr dataPtr, ImageDescriptionHandle desc, MatrixRecord *mp, RgnHandle clipRgn, long refCon);
  2766. typedef STACK_UPP_TYPE(SGGrabBottleProcPtr)                     SGGrabBottleUPP;
  2767. typedef STACK_UPP_TYPE(SGGrabCompleteBottleProcPtr)             SGGrabCompleteBottleUPP;
  2768. typedef STACK_UPP_TYPE(SGDisplayBottleProcPtr)                     SGDisplayBottleUPP;
  2769. typedef STACK_UPP_TYPE(SGCompressBottleProcPtr)                 SGCompressBottleUPP;
  2770. typedef STACK_UPP_TYPE(SGCompressCompleteBottleProcPtr)         SGCompressCompleteBottleUPP;
  2771. typedef STACK_UPP_TYPE(SGAddFrameBottleProcPtr)                 SGAddFrameBottleUPP;
  2772. typedef STACK_UPP_TYPE(SGTransferFrameBottleProcPtr)             SGTransferFrameBottleUPP;
  2773. typedef STACK_UPP_TYPE(SGGrabCompressCompleteBottleProcPtr)     SGGrabCompressCompleteBottleUPP;
  2774. typedef STACK_UPP_TYPE(SGDisplayCompressBottleProcPtr)             SGDisplayCompressBottleUPP;
  2775.  
  2776. struct VideoBottles {
  2777.     short                             procCount;
  2778.     SGGrabBottleUPP                 grabProc;
  2779.     SGGrabCompleteBottleUPP         grabCompleteProc;
  2780.     SGDisplayBottleUPP                 displayProc;
  2781.     SGCompressBottleUPP             compressProc;
  2782.     SGCompressCompleteBottleUPP     compressCompleteProc;
  2783.     SGAddFrameBottleUPP             addFrameProc;
  2784.     SGTransferFrameBottleUPP         transferFrameProc;
  2785.     SGGrabCompressCompleteBottleUPP  grabCompressCompleteProc;
  2786.     SGDisplayCompressBottleUPP         displayCompressProc;
  2787. };
  2788. typedef struct VideoBottles                VideoBottles;
  2789. EXTERN_API( ComponentResult )
  2790. SGGetSrcVideoBounds                (SGChannel                 c,
  2791.                                  Rect *                    r)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0100, 0x7000, 0xA82A);
  2792.  
  2793. EXTERN_API( ComponentResult )
  2794. SGSetVideoRect                    (SGChannel                 c,
  2795.                                  const Rect *            r)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
  2796.  
  2797. EXTERN_API( ComponentResult )
  2798. SGGetVideoRect                    (SGChannel                 c,
  2799.                                  Rect *                    r)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A);
  2800.  
  2801. EXTERN_API( ComponentResult )
  2802. SGGetVideoCompressorType        (SGChannel                 c,
  2803.                                  OSType *                compressorType)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
  2804.  
  2805. EXTERN_API( ComponentResult )
  2806. SGSetVideoCompressorType        (SGChannel                 c,
  2807.                                  OSType                 compressorType)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0104, 0x7000, 0xA82A);
  2808.  
  2809. EXTERN_API( ComponentResult )
  2810. SGSetVideoCompressor            (SGChannel                 c,
  2811.                                  short                     depth,
  2812.                                  CompressorComponent     compressor,
  2813.                                  CodecQ                 spatialQuality,
  2814.                                  CodecQ                 temporalQuality,
  2815.                                  long                     keyFrameRate)                        FIVEWORDINLINE(0x2F3C, 0x0012, 0x0105, 0x7000, 0xA82A);
  2816.  
  2817. EXTERN_API( ComponentResult )
  2818. SGGetVideoCompressor            (SGChannel                 c,
  2819.                                  short *                depth,
  2820.                                  CompressorComponent *    compressor,
  2821.                                  CodecQ *                spatialQuality,
  2822.                                  CodecQ *                temporalQuality,
  2823.                                  long *                    keyFrameRate)                        FIVEWORDINLINE(0x2F3C, 0x0014, 0x0106, 0x7000, 0xA82A);
  2824.  
  2825. EXTERN_API( ComponentInstance )
  2826. SGGetVideoDigitizerComponent    (SGChannel                 c)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x0107, 0x7000, 0xA82A);
  2827.  
  2828. EXTERN_API( ComponentResult )
  2829. SGSetVideoDigitizerComponent    (SGChannel                 c,
  2830.                                  ComponentInstance         vdig)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0108, 0x7000, 0xA82A);
  2831.  
  2832. EXTERN_API( ComponentResult )
  2833. SGVideoDigitizerChanged            (SGChannel                 c)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x0109, 0x7000, 0xA82A);
  2834.  
  2835. EXTERN_API( ComponentResult )
  2836. SGSetVideoBottlenecks            (SGChannel                 c,
  2837.                                  VideoBottles *            vb)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x010A, 0x7000, 0xA82A);
  2838.  
  2839. EXTERN_API( ComponentResult )
  2840. SGGetVideoBottlenecks            (SGChannel                 c,
  2841.                                  VideoBottles *            vb)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x010B, 0x7000, 0xA82A);
  2842.  
  2843. EXTERN_API( ComponentResult )
  2844. SGGrabFrame                        (SGChannel                 c,
  2845.                                  short                     bufferNum)                            FIVEWORDINLINE(0x2F3C, 0x0002, 0x010C, 0x7000, 0xA82A);
  2846.  
  2847. EXTERN_API( ComponentResult )
  2848. SGGrabFrameComplete                (SGChannel                 c,
  2849.                                  short                     bufferNum,
  2850.                                  Boolean *                done)                                FIVEWORDINLINE(0x2F3C, 0x0006, 0x010D, 0x7000, 0xA82A);
  2851.  
  2852. EXTERN_API( ComponentResult )
  2853. SGDisplayFrame                    (SGChannel                 c,
  2854.                                  short                     bufferNum,
  2855.                                  const MatrixRecord *    mp,
  2856.                                  RgnHandle                 clipRgn)                            FIVEWORDINLINE(0x2F3C, 0x000A, 0x010E, 0x7000, 0xA82A);
  2857.  
  2858. EXTERN_API( ComponentResult )
  2859. SGCompressFrame                    (SGChannel                 c,
  2860.                                  short                     bufferNum)                            FIVEWORDINLINE(0x2F3C, 0x0002, 0x010F, 0x7000, 0xA82A);
  2861.  
  2862. EXTERN_API( ComponentResult )
  2863. SGCompressFrameComplete            (SGChannel                 c,
  2864.                                  short                     bufferNum,
  2865.                                  Boolean *                done,
  2866.                                  SGCompressInfo *        ci)                                    FIVEWORDINLINE(0x2F3C, 0x000A, 0x0110, 0x7000, 0xA82A);
  2867.  
  2868. EXTERN_API( ComponentResult )
  2869. SGAddFrame                        (SGChannel                 c,
  2870.                                  short                     bufferNum,
  2871.                                  TimeValue                 atTime,
  2872.                                  TimeScale                 scale,
  2873.                                  const SGCompressInfo *    ci)                                    FIVEWORDINLINE(0x2F3C, 0x000E, 0x0111, 0x7000, 0xA82A);
  2874.  
  2875. EXTERN_API( ComponentResult )
  2876. SGTransferFrameForCompress        (SGChannel                 c,
  2877.                                  short                     bufferNum,
  2878.                                  const MatrixRecord *    mp,
  2879.                                  RgnHandle                 clipRgn)                            FIVEWORDINLINE(0x2F3C, 0x000A, 0x0112, 0x7000, 0xA82A);
  2880.  
  2881. EXTERN_API( ComponentResult )
  2882. SGSetCompressBuffer                (SGChannel                 c,
  2883.                                  short                     depth,
  2884.                                  const Rect *            compressSize)                        FIVEWORDINLINE(0x2F3C, 0x0006, 0x0113, 0x7000, 0xA82A);
  2885.  
  2886. EXTERN_API( ComponentResult )
  2887. SGGetCompressBuffer                (SGChannel                 c,
  2888.                                  short *                depth,
  2889.                                  Rect *                    compressSize)                        FIVEWORDINLINE(0x2F3C, 0x0008, 0x0114, 0x7000, 0xA82A);
  2890.  
  2891. EXTERN_API( ComponentResult )
  2892. SGGetBufferInfo                    (SGChannel                 c,
  2893.                                  short                     bufferNum,
  2894.                                  PixMapHandle *            bufferPM,
  2895.                                  Rect *                    bufferRect,
  2896.                                  GWorldPtr *            compressBuffer,
  2897.                                  Rect *                    compressBufferRect)                    FIVEWORDINLINE(0x2F3C, 0x0012, 0x0115, 0x7000, 0xA82A);
  2898.  
  2899. EXTERN_API( ComponentResult )
  2900. SGSetUseScreenBuffer            (SGChannel                 c,
  2901.                                  Boolean                 useScreenBuffer)                    FIVEWORDINLINE(0x2F3C, 0x0002, 0x0116, 0x7000, 0xA82A);
  2902.  
  2903. EXTERN_API( ComponentResult )
  2904. SGGetUseScreenBuffer            (SGChannel                 c,
  2905.                                  Boolean *                useScreenBuffer)                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0117, 0x7000, 0xA82A);
  2906.  
  2907. EXTERN_API( ComponentResult )
  2908. SGGrabCompressComplete            (SGChannel                 c,
  2909.                                  Boolean *                done,
  2910.                                  SGCompressInfo *        ci,
  2911.                                  TimeRecord *            tr)                                    FIVEWORDINLINE(0x2F3C, 0x000C, 0x0118, 0x7000, 0xA82A);
  2912.  
  2913. EXTERN_API( ComponentResult )
  2914. SGDisplayCompress                (SGChannel                 c,
  2915.                                  Ptr                     dataPtr,
  2916.                                  ImageDescriptionHandle  desc,
  2917.                                  MatrixRecord *            mp,
  2918.                                  RgnHandle                 clipRgn)                            FIVEWORDINLINE(0x2F3C, 0x0010, 0x0119, 0x7000, 0xA82A);
  2919.  
  2920. EXTERN_API( ComponentResult )
  2921. SGSetFrameRate                    (SGChannel                 c,
  2922.                                  Fixed                     frameRate)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x011A, 0x7000, 0xA82A);
  2923.  
  2924. EXTERN_API( ComponentResult )
  2925. SGGetFrameRate                    (SGChannel                 c,
  2926.                                  Fixed *                frameRate)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x011B, 0x7000, 0xA82A);
  2927.  
  2928.  
  2929. EXTERN_API( ComponentResult )
  2930. SGSetPreferredPacketSize        (SGChannel                 c,
  2931.                                  long                     preferredPacketSizeInBytes)            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0121, 0x7000, 0xA82A);
  2932.  
  2933. EXTERN_API( ComponentResult )
  2934. SGGetPreferredPacketSize        (SGChannel                 c,
  2935.                                  long *                    preferredPacketSizeInBytes)            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0122, 0x7000, 0xA82A);
  2936.  
  2937. EXTERN_API( ComponentResult )
  2938. SGSetUserVideoCompressorList    (SGChannel                 c,
  2939.                                  Handle                 compressorTypes)                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0123, 0x7000, 0xA82A);
  2940.  
  2941. EXTERN_API( ComponentResult )
  2942. SGGetUserVideoCompressorList    (SGChannel                 c,
  2943.                                  Handle *                compressorTypes)                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0124, 0x7000, 0xA82A);
  2944.  
  2945. /*** Sequence Grab SOUND CHANNEL Component Stuff ***/
  2946.  
  2947. /*
  2948.     Sound stuff
  2949. */
  2950. EXTERN_API( ComponentResult )
  2951. SGSetSoundInputDriver            (SGChannel                 c,
  2952.                                  ConstStr255Param         driverName)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0100, 0x7000, 0xA82A);
  2953.  
  2954. EXTERN_API( long )
  2955. SGGetSoundInputDriver            (SGChannel                 c)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x0101, 0x7000, 0xA82A);
  2956.  
  2957. EXTERN_API( ComponentResult )
  2958. SGSoundInputDriverChanged        (SGChannel                 c)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x0102, 0x7000, 0xA82A);
  2959.  
  2960. EXTERN_API( ComponentResult )
  2961. SGSetSoundRecordChunkSize        (SGChannel                 c,
  2962.                                  long                     seconds)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
  2963.  
  2964. EXTERN_API( long )
  2965. SGGetSoundRecordChunkSize        (SGChannel                 c)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x0104, 0x7000, 0xA82A);
  2966.  
  2967. EXTERN_API( ComponentResult )
  2968. SGSetSoundInputRate                (SGChannel                 c,
  2969.                                  Fixed                     rate)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0105, 0x7000, 0xA82A);
  2970.  
  2971. EXTERN_API( Fixed )
  2972. SGGetSoundInputRate                (SGChannel                 c)                                    FIVEWORDINLINE(0x2F3C, 0x0000, 0x0106, 0x7000, 0xA82A);
  2973.  
  2974. EXTERN_API( ComponentResult )
  2975. SGSetSoundInputParameters        (SGChannel                 c,
  2976.                                  short                     sampleSize,
  2977.                                  short                     numChannels,
  2978.                                  OSType                 compressionType)                    FIVEWORDINLINE(0x2F3C, 0x0008, 0x0107, 0x7000, 0xA82A);
  2979.  
  2980. EXTERN_API( ComponentResult )
  2981. SGGetSoundInputParameters        (SGChannel                 c,
  2982.                                  short *                sampleSize,
  2983.                                  short *                numChannels,
  2984.                                  OSType *                compressionType)                    FIVEWORDINLINE(0x2F3C, 0x000C, 0x0108, 0x7000, 0xA82A);
  2985.  
  2986. EXTERN_API( ComponentResult )
  2987. SGSetAdditionalSoundRates        (SGChannel                 c,
  2988.                                  Handle                 rates)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0109, 0x7000, 0xA82A);
  2989.  
  2990. EXTERN_API( ComponentResult )
  2991. SGGetAdditionalSoundRates        (SGChannel                 c,
  2992.                                  Handle *                rates)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x010A, 0x7000, 0xA82A);
  2993.  
  2994. /*
  2995.     Text stuff
  2996. */
  2997. EXTERN_API( ComponentResult )
  2998. SGSetFontName                    (SGChannel                 c,
  2999.                                  StringPtr                 pstr)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0100, 0x7000, 0xA82A);
  3000.  
  3001. EXTERN_API( ComponentResult )
  3002. SGSetFontSize                    (SGChannel                 c,
  3003.                                  short                     fontSize)                            FIVEWORDINLINE(0x2F3C, 0x0002, 0x0101, 0x7000, 0xA82A);
  3004.  
  3005. EXTERN_API( ComponentResult )
  3006. SGSetTextForeColor                (SGChannel                 c,
  3007.                                  RGBColor *                theColor)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0102, 0x7000, 0xA82A);
  3008.  
  3009. EXTERN_API( ComponentResult )
  3010. SGSetTextBackColor                (SGChannel                 c,
  3011.                                  RGBColor *                theColor)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0103, 0x7000, 0xA82A);
  3012.  
  3013. EXTERN_API( ComponentResult )
  3014. SGSetJustification                (SGChannel                 c,
  3015.                                  short                     just)                                FIVEWORDINLINE(0x2F3C, 0x0002, 0x0104, 0x7000, 0xA82A);
  3016.  
  3017. EXTERN_API( ComponentResult )
  3018. SGGetTextReturnToSpaceValue        (SGChannel                 c,
  3019.                                  short *                rettospace)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0105, 0x7000, 0xA82A);
  3020.  
  3021. EXTERN_API( ComponentResult )
  3022. SGSetTextReturnToSpaceValue        (SGChannel                 c,
  3023.                                  short                     rettospace)                            FIVEWORDINLINE(0x2F3C, 0x0002, 0x0106, 0x7000, 0xA82A);
  3024.  
  3025. /*
  3026.     Music stuff
  3027. */
  3028. EXTERN_API( ComponentResult )
  3029. SGGetInstrument                    (SGChannel                 c,
  3030.                                  ToneDescription *        td)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0100, 0x7000, 0xA82A);
  3031.  
  3032. EXTERN_API( ComponentResult )
  3033. SGSetInstrument                    (SGChannel                 c,
  3034.                                  ToneDescription *        td)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x0101, 0x7000, 0xA82A);
  3035.  
  3036.  
  3037.  
  3038. enum {
  3039.     sgChannelAtom                = FOUR_CHAR_CODE('chan'),
  3040.     sgChannelSettingsAtom        = FOUR_CHAR_CODE('ctom'),
  3041.     sgChannelDescription        = FOUR_CHAR_CODE('cdsc'),
  3042.     sgChannelSettings            = FOUR_CHAR_CODE('cset')
  3043. };
  3044.  
  3045.  
  3046. enum {
  3047.     sgDeviceNameType            = FOUR_CHAR_CODE('name'),
  3048.     sgUsageType                    = FOUR_CHAR_CODE('use '),
  3049.     sgPlayFlagsType                = FOUR_CHAR_CODE('plyf'),
  3050.     sgClipType                    = FOUR_CHAR_CODE('clip'),
  3051.     sgMatrixType                = FOUR_CHAR_CODE('mtrx'),
  3052.     sgVolumeType                = FOUR_CHAR_CODE('volu')
  3053. };
  3054.  
  3055.  
  3056. enum {
  3057.     sgPanelSettingsAtom            = FOUR_CHAR_CODE('ptom'),
  3058.     sgPanelDescription            = FOUR_CHAR_CODE('pdsc'),
  3059.     sgPanelSettings                = FOUR_CHAR_CODE('pset')
  3060. };
  3061.  
  3062.  
  3063. enum {
  3064.     sgcSoundCompressionType        = FOUR_CHAR_CODE('scmp'),
  3065.     sgcSoundSampleRateType        = FOUR_CHAR_CODE('srat'),
  3066.     sgcSoundChannelCountType    = FOUR_CHAR_CODE('schn'),
  3067.     sgcSoundSampleSizeType        = FOUR_CHAR_CODE('ssiz'),
  3068.     sgcSoundInputType            = FOUR_CHAR_CODE('sinp'),
  3069.     sgcSoundGainType            = FOUR_CHAR_CODE('gain')
  3070. };
  3071.  
  3072.  
  3073. enum {
  3074.     sgcVideoHueType                = FOUR_CHAR_CODE('hue '),
  3075.     sgcVideoSaturationType        = FOUR_CHAR_CODE('satr'),
  3076.     sgcVideoContrastType        = FOUR_CHAR_CODE('trst'),
  3077.     sgcVideoSharpnessType        = FOUR_CHAR_CODE('shrp'),
  3078.     sgcVideoBrigtnessType        = FOUR_CHAR_CODE('brit'),
  3079.     sgcVideoBlackLevelType        = FOUR_CHAR_CODE('blkl'),
  3080.     sgcVideoWhiteLevelType        = FOUR_CHAR_CODE('whtl'),
  3081.     sgcVideoInputType            = FOUR_CHAR_CODE('vinp'),
  3082.     sgcVideoFormatType            = FOUR_CHAR_CODE('vstd'),
  3083.     sgcVideoFilterType            = FOUR_CHAR_CODE('vflt'),
  3084.     sgcVideoRectType            = FOUR_CHAR_CODE('vrct'),
  3085.     sgcVideoDigitizerType        = FOUR_CHAR_CODE('vdig')
  3086. };
  3087.  
  3088.  
  3089.  
  3090.  
  3091.  
  3092. typedef ComponentInstance                 QTVideoOutputComponent;
  3093. /* Component type and subtype enumerations*/
  3094.  
  3095. enum {
  3096.     QTVideoOutputComponentType    = FOUR_CHAR_CODE('vout'),
  3097.     QTVideoOutputComponentBaseSubType = FOUR_CHAR_CODE('base')
  3098. };
  3099.  
  3100.  
  3101. /* QTVideoOutput Component flags*/
  3102.  
  3103.  
  3104. enum {
  3105.     kQTVideoOutputDontDisplayToUser = 1L << 0
  3106. };
  3107.  
  3108. /* Display mode atom types*/
  3109.  
  3110.  
  3111. enum {
  3112.     kQTVODisplayModeItem        = FOUR_CHAR_CODE('qdmi'),
  3113.     kQTVODimensions                = FOUR_CHAR_CODE('dimn'),        /* atom contains two longs - pixel count - width, height*/
  3114.     kQTVOResolution                = FOUR_CHAR_CODE('resl'),        /* atom contains two Fixed - hRes, vRes in dpi*/
  3115.     kQTVORefreshRate            = FOUR_CHAR_CODE('refr'),        /* atom contains one Fixed - refresh rate in Hz*/
  3116.     kQTVOPixelType                = FOUR_CHAR_CODE('pixl'),        /* atom contains one OSType - pixel format of mode*/
  3117.     kQTVOName                    = FOUR_CHAR_CODE('name'),        /* atom contains string (no length byte) - name of modefor display to user*/
  3118.     kQTVODecompressors            = FOUR_CHAR_CODE('deco'),        /* atom contains other atoms indicating supported decompressors*/
  3119.                                                                 /* kQTVODecompressors sub-atoms*/
  3120.     kQTVODecompressorType        = FOUR_CHAR_CODE('dety'),        /* atom contains one OSType - decompressor type code*/
  3121.     kQTVODecompressorContinuous    = FOUR_CHAR_CODE('cont'),        /* atom contains one Boolean - true if this type is displayed continuously*/
  3122.     kQTVODecompressorComponent    = FOUR_CHAR_CODE('cmpt')        /* atom contains one Component - component id of decompressor*/
  3123. };
  3124.  
  3125. /** These are QTVideoOutput procedures **/
  3126. EXTERN_API( ComponentResult )
  3127. QTVideoOutputGetDisplayModeList    (QTVideoOutputComponent  vo,
  3128.                                  QTAtomContainer *        outputs)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
  3129.  
  3130. EXTERN_API( ComponentResult )
  3131. QTVideoOutputGetCurrentClientName (QTVideoOutputComponent  vo,
  3132.                                  Str255                 str)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0002, 0x7000, 0xA82A);
  3133.  
  3134. EXTERN_API( ComponentResult )
  3135. QTVideoOutputSetClientName        (QTVideoOutputComponent  vo,
  3136.                                  ConstStr255Param         str)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0003, 0x7000, 0xA82A);
  3137.  
  3138. EXTERN_API( ComponentResult )
  3139. QTVideoOutputGetClientName        (QTVideoOutputComponent  vo,
  3140.                                  Str255                 str)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0004, 0x7000, 0xA82A);
  3141.  
  3142. EXTERN_API( ComponentResult )
  3143. QTVideoOutputBegin                (QTVideoOutputComponent  vo)                                FIVEWORDINLINE(0x2F3C, 0x0000, 0x0005, 0x7000, 0xA82A);
  3144.  
  3145. EXTERN_API( ComponentResult )
  3146. QTVideoOutputEnd                (QTVideoOutputComponent  vo)                                FIVEWORDINLINE(0x2F3C, 0x0000, 0x0006, 0x7000, 0xA82A);
  3147.  
  3148. EXTERN_API( ComponentResult )
  3149. QTVideoOutputSetDisplayMode        (QTVideoOutputComponent  vo,
  3150.                                  long                     displayModeID)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0007, 0x7000, 0xA82A);
  3151.  
  3152. EXTERN_API( ComponentResult )
  3153. QTVideoOutputGetDisplayMode        (QTVideoOutputComponent  vo,
  3154.                                  long *                    displayModeID)                        FIVEWORDINLINE(0x2F3C, 0x0004, 0x0008, 0x7000, 0xA82A);
  3155.  
  3156. EXTERN_API( ComponentResult )
  3157. QTVideoOutputCustomConfigureDisplay (QTVideoOutputComponent  vo,
  3158.                                  ModalFilterUPP         filter)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x0009, 0x7000, 0xA82A);
  3159.  
  3160. EXTERN_API( ComponentResult )
  3161. QTVideoOutputSaveState            (QTVideoOutputComponent  vo,
  3162.                                  QTAtomContainer *        state)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x000A, 0x7000, 0xA82A);
  3163.  
  3164. EXTERN_API( ComponentResult )
  3165. QTVideoOutputRestoreState        (QTVideoOutputComponent  vo,
  3166.                                  QTAtomContainer         state)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x000B, 0x7000, 0xA82A);
  3167.  
  3168. EXTERN_API( ComponentResult )
  3169. QTVideoOutputGetGWorld            (QTVideoOutputComponent  vo,
  3170.                                  GWorldPtr *            gw)                                    FIVEWORDINLINE(0x2F3C, 0x0004, 0x000C, 0x7000, 0xA82A);
  3171.  
  3172. EXTERN_API( ComponentResult )
  3173. QTVideoOutputGetGWorldParameters (QTVideoOutputComponent  vo,
  3174.                                  Ptr *                    baseAddr,
  3175.                                  long *                    rowBytes,
  3176.                                  CTabHandle *            colorTable)                            FIVEWORDINLINE(0x2F3C, 0x000C, 0x000D, 0x7000, 0xA82A);
  3177.  
  3178. EXTERN_API( ComponentResult )
  3179. QTVideoOutputGetIndSoundOutput    (QTVideoOutputComponent  vo,
  3180.                                  long                     index,
  3181.                                  Component *            outputComponent)                    FIVEWORDINLINE(0x2F3C, 0x0008, 0x000E, 0x7000, 0xA82A);
  3182.  
  3183. EXTERN_API( ComponentResult )
  3184. QTVideoOutputGetClock            (QTVideoOutputComponent  vo,
  3185.                                  ComponentInstance *    clock)                                FIVEWORDINLINE(0x2F3C, 0x0004, 0x000F, 0x7000, 0xA82A);
  3186.  
  3187. EXTERN_API( ComponentResult )
  3188. QTVideoOutputSetEchoPort        (QTVideoOutputComponent  vo,
  3189.                                  CGrafPtr                 echoPort)                            FIVEWORDINLINE(0x2F3C, 0x0004, 0x0010, 0x7000, 0xA82A);
  3190.  
  3191. /* UPP call backs */
  3192. enum { uppDataHCompletionProcInfo = 0x00000BC0 };                 /* pascal no_return_value Func(4_bytes, 4_bytes, 2_bytes) */
  3193. enum { uppVdigIntProcInfo = 0x000003C0 };                         /* pascal no_return_value Func(4_bytes, 4_bytes) */
  3194. enum { uppSGDataProcInfo = 0x003BFFE0 };                         /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 2_bytes, 4_bytes) */
  3195. enum { uppSGModalFilterProcInfo = 0x00003FD0 };                 /* pascal 1_byte Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
  3196. enum { uppSGGrabBottleProcInfo = 0x00000EF0 };                     /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes) */
  3197. enum { uppSGGrabCompleteBottleProcInfo = 0x00003EF0 };             /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes) */
  3198. enum { uppSGDisplayBottleProcInfo = 0x0000FEF0 };                 /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes) */
  3199. enum { uppSGCompressBottleProcInfo = 0x00000EF0 };                 /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes) */
  3200. enum { uppSGCompressCompleteBottleProcInfo = 0x0000FEF0 };         /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes) */
  3201. enum { uppSGAddFrameBottleProcInfo = 0x0003FEF0 };                 /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
  3202. enum { uppSGTransferFrameBottleProcInfo = 0x0000FEF0 };         /* pascal 4_bytes Func(4_bytes, 2_bytes, 4_bytes, 4_bytes, 4_bytes) */
  3203. enum { uppSGGrabCompressCompleteBottleProcInfo = 0x0000FFF0 };     /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
  3204. enum { uppSGDisplayCompressBottleProcInfo = 0x0003FFF0 };         /* pascal 4_bytes Func(4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes, 4_bytes) */
  3205. #define NewDataHCompletionProc(userRoutine)                     (DataHCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppDataHCompletionProcInfo, GetCurrentArchitecture())
  3206. #define NewVdigIntProc(userRoutine)                             (VdigIntUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppVdigIntProcInfo, GetCurrentArchitecture())
  3207. #define NewSGDataProc(userRoutine)                                 (SGDataUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGDataProcInfo, GetCurrentArchitecture())
  3208. #define NewSGModalFilterProc(userRoutine)                         (SGModalFilterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGModalFilterProcInfo, GetCurrentArchitecture())
  3209. #define NewSGGrabBottleProc(userRoutine)                         (SGGrabBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGGrabBottleProcInfo, GetCurrentArchitecture())
  3210. #define NewSGGrabCompleteBottleProc(userRoutine)                 (SGGrabCompleteBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGGrabCompleteBottleProcInfo, GetCurrentArchitecture())
  3211. #define NewSGDisplayBottleProc(userRoutine)                     (SGDisplayBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGDisplayBottleProcInfo, GetCurrentArchitecture())
  3212. #define NewSGCompressBottleProc(userRoutine)                     (SGCompressBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGCompressBottleProcInfo, GetCurrentArchitecture())
  3213. #define NewSGCompressCompleteBottleProc(userRoutine)             (SGCompressCompleteBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGCompressCompleteBottleProcInfo, GetCurrentArchitecture())
  3214. #define NewSGAddFrameBottleProc(userRoutine)                     (SGAddFrameBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGAddFrameBottleProcInfo, GetCurrentArchitecture())
  3215. #define NewSGTransferFrameBottleProc(userRoutine)                 (SGTransferFrameBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGTransferFrameBottleProcInfo, GetCurrentArchitecture())
  3216. #define NewSGGrabCompressCompleteBottleProc(userRoutine)         (SGGrabCompressCompleteBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGGrabCompressCompleteBottleProcInfo, GetCurrentArchitecture())
  3217. #define NewSGDisplayCompressBottleProc(userRoutine)             (SGDisplayCompressBottleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSGDisplayCompressBottleProcInfo, GetCurrentArchitecture())
  3218. #define CallDataHCompletionProc(userRoutine, request, refcon, err)  CALL_THREE_PARAMETER_UPP((userRoutine), uppDataHCompletionProcInfo, (request), (refcon), (err))
  3219. #define CallVdigIntProc(userRoutine, flags, refcon)             CALL_TWO_PARAMETER_UPP((userRoutine), uppVdigIntProcInfo, (flags), (refcon))
  3220. #define CallSGDataProc(userRoutine, c, p, len, offset, chRefCon, time, writeType, refCon)  CALL_EIGHT_PARAMETER_UPP((userRoutine), uppSGDataProcInfo, (c), (p), (len), (offset), (chRefCon), (time), (writeType), (refCon))
  3221. #define CallSGModalFilterProc(userRoutine, theDialog, theEvent, itemHit, refCon)  CALL_FOUR_PARAMETER_UPP((userRoutine), uppSGModalFilterProcInfo, (theDialog), (theEvent), (itemHit), (refCon))
  3222. #define CallSGGrabBottleProc(userRoutine, c, bufferNum, refCon)  CALL_THREE_PARAMETER_UPP((userRoutine), uppSGGrabBottleProcInfo, (c), (bufferNum), (refCon))
  3223. #define CallSGGrabCompleteBottleProc(userRoutine, c, bufferNum, done, refCon)  CALL_FOUR_PARAMETER_UPP((userRoutine), uppSGGrabCompleteBottleProcInfo, (c), (bufferNum), (done), (refCon))
  3224. #define CallSGDisplayBottleProc(userRoutine, c, bufferNum, mp, clipRgn, refCon)  CALL_FIVE_PARAMETER_UPP((userRoutine), uppSGDisplayBottleProcInfo, (c), (bufferNum), (mp), (clipRgn), (refCon))
  3225. #define CallSGCompressBottleProc(userRoutine, c, bufferNum, refCon)  CALL_THREE_PARAMETER_UPP((userRoutine), uppSGCompressBottleProcInfo, (c), (bufferNum), (refCon))
  3226. #define CallSGCompressCompleteBottleProc(userRoutine, c, bufferNum, done, ci, refCon)  CALL_FIVE_PARAMETER_UPP((userRoutine), uppSGCompressCompleteBottleProcInfo, (c), (bufferNum), (done), (ci), (refCon))
  3227. #define CallSGAddFrameBottleProc(userRoutine, c, bufferNum, atTime, scale, ci, refCon)  CALL_SIX_PARAMETER_UPP((userRoutine), uppSGAddFrameBottleProcInfo, (c), (bufferNum), (atTime), (scale), (ci), (refCon))
  3228. #define CallSGTransferFrameBottleProc(userRoutine, c, bufferNum, mp, clipRgn, refCon)  CALL_FIVE_PARAMETER_UPP((userRoutine), uppSGTransferFrameBottleProcInfo, (c), (bufferNum), (mp), (clipRgn), (refCon))
  3229. #define CallSGGrabCompressCompleteBottleProc(userRoutine, c, done, ci, t, refCon)  CALL_FIVE_PARAMETER_UPP((userRoutine), uppSGGrabCompressCompleteBottleProcInfo, (c), (done), (ci), (t), (refCon))
  3230. #define CallSGDisplayCompressBottleProc(userRoutine, c, dataPtr, desc, mp, clipRgn, refCon)  CALL_SIX_PARAMETER_UPP((userRoutine), uppSGDisplayCompressBottleProcInfo, (c), (dataPtr), (desc), (mp), (clipRgn), (refCon))
  3231.  
  3232. /* selectors for component calls */
  3233. enum {
  3234.     kClockGetTimeSelect                                = 0x0001,
  3235.     kClockNewCallBackSelect                            = 0x0002,
  3236.     kClockDisposeCallBackSelect                        = 0x0003,
  3237.     kClockCallMeWhenSelect                            = 0x0004,
  3238.     kClockCancelCallBackSelect                        = 0x0005,
  3239.     kClockRateChangedSelect                            = 0x0006,
  3240.     kClockTimeChangedSelect                            = 0x0007,
  3241.     kClockSetTimeBaseSelect                            = 0x0008,
  3242.     kClockStartStopChangedSelect                    = 0x0009,
  3243.     kClockGetRateSelect                                = 0x000A,
  3244.     kSCGetCompressionExtendedSelect                    = 0x0001,
  3245.     kSCPositionRectSelect                            = 0x0002,
  3246.     kSCPositionDialogSelect                            = 0x0003,
  3247.     kSCSetTestImagePictHandleSelect                    = 0x0004,
  3248.     kSCSetTestImagePictFileSelect                    = 0x0005,
  3249.     kSCSetTestImagePixMapSelect                        = 0x0006,
  3250.     kSCGetBestDeviceRectSelect                        = 0x0007,
  3251.     kSCRequestImageSettingsSelect                    = 0x000A,
  3252.     kSCCompressImageSelect                            = 0x000B,
  3253.     kSCCompressPictureSelect                        = 0x000C,
  3254.     kSCCompressPictureFileSelect                    = 0x000D,
  3255.     kSCRequestSequenceSettingsSelect                = 0x000E,
  3256.     kSCCompressSequenceBeginSelect                    = 0x000F,
  3257.     kSCCompressSequenceFrameSelect                    = 0x0010,
  3258.     kSCCompressSequenceEndSelect                    = 0x0011,
  3259.     kSCDefaultPictHandleSettingsSelect                = 0x0012,
  3260.     kSCDefaultPictFileSettingsSelect                = 0x0013,
  3261.     kSCDefaultPixMapSettingsSelect                    = 0x0014,
  3262.     kSCGetInfoSelect                                = 0x0015,
  3263.     kSCSetInfoSelect                                = 0x0016,
  3264.     kSCNewGWorldSelect                                = 0x0017,
  3265.     kSCSetCompressFlagsSelect                        = 0x0018,
  3266.     kSCGetCompressFlagsSelect                        = 0x0019,
  3267.     kSCGetSettingsAsTextSelect                        = 0x001A,
  3268.     kSCGetSettingsAsAtomContainerSelect                = 0x001B,
  3269.     kSCSetSettingsFromAtomContainerSelect            = 0x001C,
  3270.     kTweenerInitializeSelect                        = 0x0001,
  3271.     kTweenerDoTweenSelect                            = 0x0002,
  3272.     kTweenerResetSelect                                = 0x0003,
  3273.     kTCGetCurrentTimeCodeSelect                        = 0x0101,
  3274.     kTCGetTimeCodeAtTimeSelect                        = 0x0102,
  3275.     kTCTimeCodeToStringSelect                        = 0x0103,
  3276.     kTCTimeCodeToFrameNumberSelect                    = 0x0104,
  3277.     kTCFrameNumberToTimeCodeSelect                    = 0x0105,
  3278.     kTCGetSourceRefSelect                            = 0x0106,
  3279.     kTCSetSourceRefSelect                            = 0x0107,
  3280.     kTCSetTimeCodeFlagsSelect                        = 0x0108,
  3281.     kTCGetTimeCodeFlagsSelect                        = 0x0109,
  3282.     kTCSetDisplayOptionsSelect                        = 0x010A,
  3283.     kTCGetDisplayOptionsSelect                        = 0x010B,
  3284.     kMovieImportHandleSelect                        = 0x0001,
  3285.     kMovieImportFileSelect                            = 0x0002,
  3286.     kMovieImportSetSampleDurationSelect                = 0x0003,
  3287.     kMovieImportSetSampleDescriptionSelect            = 0x0004,
  3288.     kMovieImportSetMediaFileSelect                    = 0x0005,
  3289.     kMovieImportSetDimensionsSelect                    = 0x0006,
  3290.     kMovieImportSetChunkSizeSelect                    = 0x0007,
  3291.     kMovieImportSetProgressProcSelect                = 0x0008,
  3292.     kMovieImportSetAuxiliaryDataSelect                = 0x0009,
  3293.     kMovieImportSetFromScrapSelect                    = 0x000A,
  3294.     kMovieImportDoUserDialogSelect                    = 0x000B,
  3295.     kMovieImportSetDurationSelect                    = 0x000C,
  3296.     kMovieImportGetAuxiliaryDataTypeSelect            = 0x000D,
  3297.     kMovieImportValidateSelect                        = 0x000E,
  3298.     kMovieImportGetFileTypeSelect                    = 0x000F,
  3299.     kMovieImportDataRefSelect                        = 0x0010,
  3300.     kMovieImportGetSampleDescriptionSelect            = 0x0011,
  3301.     kMovieImportGetMIMETypeListSelect                = 0x0012,
  3302.     kMovieImportSetOffsetAndLimitSelect                = 0x0013,
  3303.     kMovieImportGetSettingsAsAtomContainerSelect    = 0x0014,
  3304.     kMovieImportSetSettingsFromAtomContainerSelect = 0x0015,
  3305.     kMovieExportToHandleSelect                        = 0x0080,
  3306.     kMovieExportToFileSelect                        = 0x0081,
  3307.     kMovieExportGetAuxiliaryDataSelect                = 0x0083,
  3308.     kMovieExportSetProgressProcSelect                = 0x0084,
  3309.     kMovieExportSetSampleDescriptionSelect            = 0x0085,
  3310.     kMovieExportDoUserDialogSelect                    = 0x0086,
  3311.     kMovieExportGetCreatorTypeSelect                = 0x0087,
  3312.     kMovieExportToDataRefSelect                        = 0x0088,
  3313.     kMovieExportFromProceduresToDataRefSelect        = 0x0089,
  3314.     kMovieExportAddDataSourceSelect                    = 0x008A,
  3315.     kMovieExportValidateSelect                        = 0x008B,
  3316.     kMovieExportGetSettingsAsAtomContainerSelect    = 0x008C,
  3317.     kMovieExportSetSettingsFromAtomContainerSelect = 0x008D,
  3318.     kMovieExportGetFileNameExtensionSelect            = 0x008E,
  3319.     kMovieExportGetShortFileTypeStringSelect        = 0x008F,
  3320.     kMovieExportGetSourceMediaTypeSelect            = 0x0090,
  3321.     kTextExportGetDisplayDataSelect                    = 0x0100,
  3322.     kTextExportGetTimeFractionSelect                = 0x0101,
  3323.     kTextExportSetTimeFractionSelect                = 0x0102,
  3324.     kTextExportGetSettingsSelect                    = 0x0103,
  3325.     kTextExportSetSettingsSelect                    = 0x0104,
  3326.     kMIDIImportGetSettingsSelect                    = 0x0100,
  3327.     kMIDIImportSetSettingsSelect                    = 0x0101,
  3328.     kMovieExportNewGetDataAndPropertiesProcsSelect = 0x0100,
  3329.     kMovieExportDisposeGetDataAndPropertiesProcsSelect = 0x0101,
  3330.     kGraphicsImageImportSetSequenceEnabledSelect    = 0x0100,
  3331.     kGraphicsImageImportGetSequenceEnabledSelect    = 0x0101,
  3332.     kPreviewShowDataSelect                            = 0x0001,
  3333.     kPreviewMakePreviewSelect                        = 0x0002,
  3334.     kPreviewMakePreviewReferenceSelect                = 0x0003,
  3335.     kPreviewEventSelect                                = 0x0004,
  3336.     kDataCodecDecompressSelect                        = 0x0001,
  3337.     kDataCodecGetCompressBufferSizeSelect            = 0x0002,
  3338.     kDataCodecCompressSelect                        = 0x0003,
  3339.     kDataCodecBeginInterruptSafeSelect                = 0x0004,
  3340.     kDataCodecEndInterruptSafeSelect                = 0x0005,
  3341.     kDataCodecDecompressPartialSelect                = 0x0006,
  3342.     kDataCodecCompressPartialSelect                    = 0x0007,
  3343.     kDataHGetDataSelect                                = 0x0002,
  3344.     kDataHPutDataSelect                                = 0x0003,
  3345.     kDataHFlushDataSelect                            = 0x0004,
  3346.     kDataHOpenForWriteSelect                        = 0x0005,
  3347.     kDataHCloseForWriteSelect                        = 0x0006,
  3348.     kDataHOpenForReadSelect                            = 0x0008,
  3349.     kDataHCloseForReadSelect                        = 0x0009,
  3350.     kDataHSetDataRefSelect                            = 0x000A,
  3351.     kDataHGetDataRefSelect                            = 0x000B,
  3352.     kDataHCompareDataRefSelect                        = 0x000C,
  3353.     kDataHTaskSelect                                = 0x000D,
  3354.     kDataHScheduleDataSelect                        = 0x000E,
  3355.     kDataHFinishDataSelect                            = 0x000F,
  3356.     kDataHFlushCacheSelect                            = 0x0010,
  3357.     kDataHResolveDataRefSelect                        = 0x0011,
  3358.     kDataHGetFileSizeSelect                            = 0x0012,
  3359.     kDataHCanUseDataRefSelect                        = 0x0013,
  3360.     kDataHGetVolumeListSelect                        = 0x0014,
  3361.     kDataHWriteSelect                                = 0x0015,
  3362.     kDataHPreextendSelect                            = 0x0016,
  3363.     kDataHSetFileSizeSelect                            = 0x0017,
  3364.     kDataHGetFreeSpaceSelect                        = 0x0018,
  3365.     kDataHCreateFileSelect                            = 0x0019,
  3366.     kDataHGetPreferredBlockSizeSelect                = 0x001A,
  3367.     kDataHGetDeviceIndexSelect                        = 0x001B,
  3368.     kDataHIsStreamingDataHandlerSelect                = 0x001C,
  3369.     kDataHGetDataInBufferSelect                        = 0x001D,
  3370.     kDataHGetScheduleAheadTimeSelect                = 0x001E,
  3371.     kDataHSetCacheSizeLimitSelect                    = 0x001F,
  3372.     kDataHGetCacheSizeLimitSelect                    = 0x0020,
  3373.     kDataHGetMovieSelect                            = 0x0021,
  3374.     kDataHAddMovieSelect                            = 0x0022,
  3375.     kDataHUpdateMovieSelect                            = 0x0023,
  3376.     kDataHDoesBufferSelect                            = 0x0024,
  3377.     kDataHGetFileNameSelect                            = 0x0025,
  3378.     kDataHGetAvailableFileSizeSelect                = 0x0026,
  3379.     kDataHGetMacOSFileTypeSelect                    = 0x0027,
  3380.     kDataHGetMIMETypeSelect                            = 0x0028,
  3381.     kDataHSetDataRefWithAnchorSelect                = 0x0029,
  3382.     kDataHGetDataRefWithAnchorSelect                = 0x002A,
  3383.     kDataHSetMacOSFileTypeSelect                    = 0x002B,
  3384.     kDataHPlaybackHintsSelect                        = 0x0103,
  3385.     kVDGetMaxSrcRectSelect                            = 0x0001,
  3386.     kVDGetActiveSrcRectSelect                        = 0x0002,
  3387.     kVDSetDigitizerRectSelect                        = 0x0003,
  3388.     kVDGetDigitizerRectSelect                        = 0x0004,
  3389.     kVDGetVBlankRectSelect                            = 0x0005,
  3390.     kVDGetMaskPixMapSelect                            = 0x0006,
  3391.     kVDGetPlayThruDestinationSelect                    = 0x0008,
  3392.     kVDUseThisCLUTSelect                            = 0x0009,
  3393.     kVDSetInputGammaValueSelect                        = 0x000A,
  3394.     kVDGetInputGammaValueSelect                        = 0x000B,
  3395.     kVDSetBrightnessSelect                            = 0x000C,
  3396.     kVDGetBrightnessSelect                            = 0x000D,
  3397.     kVDSetContrastSelect                            = 0x000E,
  3398.     kVDSetHueSelect                                    = 0x000F,
  3399.     kVDSetSharpnessSelect                            = 0x0010,
  3400.     kVDSetSaturationSelect                            = 0x0011,
  3401.     kVDGetContrastSelect                            = 0x0012,
  3402.     kVDGetHueSelect                                    = 0x0013,
  3403.     kVDGetSharpnessSelect                            = 0x0014,
  3404.     kVDGetSaturationSelect                            = 0x0015,
  3405.     kVDGrabOneFrameSelect                            = 0x0016,
  3406.     kVDGetMaxAuxBufferSelect                        = 0x0017,
  3407.     kVDGetDigitizerInfoSelect                        = 0x0019,
  3408.     kVDGetCurrentFlagsSelect                        = 0x001A,
  3409.     kVDSetKeyColorSelect                            = 0x001B,
  3410.     kVDGetKeyColorSelect                            = 0x001C,
  3411.     kVDAddKeyColorSelect                            = 0x001D,
  3412.     kVDGetNextKeyColorSelect                        = 0x001E,
  3413.     kVDSetKeyColorRangeSelect                        = 0x001F,
  3414.     kVDGetKeyColorRangeSelect                        = 0x0020,
  3415.     kVDSetDigitizerUserInterruptSelect                = 0x0021,
  3416.     kVDSetInputColorSpaceModeSelect                    = 0x0022,
  3417.     kVDGetInputColorSpaceModeSelect                    = 0x0023,
  3418.     kVDSetClipStateSelect                            = 0x0024,
  3419.     kVDGetClipStateSelect                            = 0x0025,
  3420.     kVDSetClipRgnSelect                                = 0x0026,
  3421.     kVDClearClipRgnSelect                            = 0x0027,
  3422.     kVDGetCLUTInUseSelect                            = 0x0028,
  3423.     kVDSetPLLFilterTypeSelect                        = 0x0029,
  3424.     kVDGetPLLFilterTypeSelect                        = 0x002A,
  3425.     kVDGetMaskandValueSelect                        = 0x002B,
  3426.     kVDSetMasterBlendLevelSelect                    = 0x002C,
  3427.     kVDSetPlayThruDestinationSelect                    = 0x002D,
  3428.     kVDSetPlayThruOnOffSelect                        = 0x002E,
  3429.     kVDSetFieldPreferenceSelect                        = 0x002F,
  3430.     kVDGetFieldPreferenceSelect                        = 0x0030,
  3431.     kVDPreflightDestinationSelect                    = 0x0032,
  3432.     kVDPreflightGlobalRectSelect                    = 0x0033,
  3433.     kVDSetPlayThruGlobalRectSelect                    = 0x0034,
  3434.     kVDSetInputGammaRecordSelect                    = 0x0035,
  3435.     kVDGetInputGammaRecordSelect                    = 0x0036,
  3436.     kVDSetBlackLevelValueSelect                        = 0x0037,
  3437.     kVDGetBlackLevelValueSelect                        = 0x0038,
  3438.     kVDSetWhiteLevelValueSelect                        = 0x0039,
  3439.     kVDGetWhiteLevelValueSelect                        = 0x003A,
  3440.     kVDGetVideoDefaultsSelect                        = 0x003B,
  3441.     kVDGetNumberOfInputsSelect                        = 0x003C,
  3442.     kVDGetInputFormatSelect                            = 0x003D,
  3443.     kVDSetInputSelect                                = 0x003E,
  3444.     kVDGetInputSelect                                = 0x003F,
  3445.     kVDSetInputStandardSelect                        = 0x0040,
  3446.     kVDSetupBuffersSelect                            = 0x0041,
  3447.     kVDGrabOneFrameAsyncSelect                        = 0x0042,
  3448.     kVDDoneSelect                                    = 0x0043,
  3449.     kVDSetCompressionSelect                            = 0x0044,
  3450.     kVDCompressOneFrameAsyncSelect                    = 0x0045,
  3451.     kVDCompressDoneSelect                            = 0x0046,
  3452.     kVDReleaseCompressBufferSelect                    = 0x0047,
  3453.     kVDGetImageDescriptionSelect                    = 0x0048,
  3454.     kVDResetCompressSequenceSelect                    = 0x0049,
  3455.     kVDSetCompressionOnOffSelect                    = 0x004A,
  3456.     kVDGetCompressionTypesSelect                    = 0x004B,
  3457.     kVDSetTimeBaseSelect                            = 0x004C,
  3458.     kVDSetFrameRateSelect                            = 0x004D,
  3459.     kVDGetDataRateSelect                            = 0x004E,
  3460.     kVDGetSoundInputDriverSelect                    = 0x004F,
  3461.     kVDGetDMADepthsSelect                            = 0x0050,
  3462.     kVDGetPreferredTimeScaleSelect                    = 0x0051,
  3463.     kVDReleaseAsyncBuffersSelect                    = 0x0052,
  3464.     kVDSetDataRateSelect                            = 0x0054,
  3465.     kVDGetTimeCodeSelect                            = 0x0055,
  3466.     kVDUseSafeBuffersSelect                            = 0x0056,
  3467.     kVDGetSoundInputSourceSelect                    = 0x0057,
  3468.     kVDGetCompressionTimeSelect                        = 0x0058,
  3469.     kVDSetPreferredPacketSizeSelect                    = 0x0059,
  3470.     kVDSetPreferredImageDimensionsSelect            = 0x005A,
  3471.     kVDGetPreferredImageDimensionsSelect            = 0x005B,
  3472.     kVDGetInputNameSelect                            = 0x005C,
  3473.     kSGInitializeSelect                                = 0x0001,
  3474.     kSGSetDataOutputSelect                            = 0x0002,
  3475.     kSGGetDataOutputSelect                            = 0x0003,
  3476.     kSGSetGWorldSelect                                = 0x0004,
  3477.     kSGGetGWorldSelect                                = 0x0005,
  3478.     kSGNewChannelSelect                                = 0x0006,
  3479.     kSGDisposeChannelSelect                            = 0x0007,
  3480.     kSGStartPreviewSelect                            = 0x0010,
  3481.     kSGStartRecordSelect                            = 0x0011,
  3482.     kSGIdleSelect                                    = 0x0012,
  3483.     kSGStopSelect                                    = 0x0013,
  3484.     kSGPauseSelect                                    = 0x0014,
  3485.     kSGPrepareSelect                                = 0x0015,
  3486.     kSGReleaseSelect                                = 0x0016,
  3487.     kSGGetMovieSelect                                = 0x0017,
  3488.     kSGSetMaximumRecordTimeSelect                    = 0x0018,
  3489.     kSGGetMaximumRecordTimeSelect                    = 0x0019,
  3490.     kSGGetStorageSpaceRemainingSelect                = 0x001A,
  3491.     kSGGetTimeRemainingSelect                        = 0x001B,
  3492.     kSGGrabPictSelect                                = 0x001C,
  3493.     kSGGetLastMovieResIDSelect                        = 0x001D,
  3494.     kSGSetFlagsSelect                                = 0x001E,
  3495.     kSGGetFlagsSelect                                = 0x001F,
  3496.     kSGSetDataProcSelect                            = 0x0020,
  3497.     kSGNewChannelFromComponentSelect                = 0x0021,
  3498.     kSGDisposeDeviceListSelect                        = 0x0022,
  3499.     kSGAppendDeviceListToMenuSelect                    = 0x0023,
  3500.     kSGSetSettingsSelect                            = 0x0024,
  3501.     kSGGetSettingsSelect                            = 0x0025,
  3502.     kSGGetIndChannelSelect                            = 0x0026,
  3503.     kSGUpdateSelect                                    = 0x0027,
  3504.     kSGGetPauseSelect                                = 0x0028,
  3505.     kSGSettingsDialogSelect                            = 0x0029,
  3506.     kSGGetAlignmentProcSelect                        = 0x002A,
  3507.     kSGSetChannelSettingsSelect                        = 0x002B,
  3508.     kSGGetChannelSettingsSelect                        = 0x002C,
  3509.     kSGGetModeSelect                                = 0x002D,
  3510.     kSGSetDataRefSelect                                = 0x002E,
  3511.     kSGGetDataRefSelect                                = 0x002F,
  3512.     kSGNewOutputSelect                                = 0x0030,
  3513.     kSGDisposeOutputSelect                            = 0x0031,
  3514.     kSGSetOutputFlagsSelect                            = 0x0032,
  3515.     kSGSetChannelOutputSelect                        = 0x0033,
  3516.     kSGGetDataOutputStorageSpaceRemainingSelect        = 0x0034,
  3517.     kSGHandleUpdateEventSelect                        = 0x0035,
  3518.     kSGSetOutputNextOutputSelect                    = 0x0036,
  3519.     kSGGetOutputNextOutputSelect                    = 0x0037,
  3520.     kSGSetOutputMaximumOffsetSelect                    = 0x0038,
  3521.     kSGGetOutputMaximumOffsetSelect                    = 0x0039,
  3522.     kSGGetOutputDataReferenceSelect                    = 0x003A,
  3523.     kSGWriteExtendedMovieDataSelect                    = 0x003B,
  3524.     kSGWriteMovieDataSelect                            = 0x0100,
  3525.     kSGAddFrameReferenceSelect                        = 0x0101,
  3526.     kSGGetNextFrameReferenceSelect                    = 0x0102,
  3527.     kSGGetTimeBaseSelect                            = 0x0103,
  3528.     kSGSortDeviceListSelect                            = 0x0104,
  3529.     kSGAddMovieDataSelect                            = 0x0105,
  3530.     kSGChangedSourceSelect                            = 0x0106,
  3531.     kSGAddExtendedFrameReferenceSelect                = 0x0107,
  3532.     kSGGetNextExtendedFrameReferenceSelect            = 0x0108,
  3533.     kSGAddExtendedMovieDataSelect                    = 0x0109,
  3534.     kSGAddOutputDataRefToMediaSelect                = 0x010A,
  3535.     kSGSetChannelUsageSelect                        = 0x0080,
  3536.     kSGGetChannelUsageSelect                        = 0x0081,
  3537.     kSGSetChannelBoundsSelect                        = 0x0082,
  3538.     kSGGetChannelBoundsSelect                        = 0x0083,
  3539.     kSGSetChannelVolumeSelect                        = 0x0084,
  3540.     kSGGetChannelVolumeSelect                        = 0x0085,
  3541.     kSGGetChannelInfoSelect                            = 0x0086,
  3542.     kSGSetChannelPlayFlagsSelect                    = 0x0087,
  3543.     kSGGetChannelPlayFlagsSelect                    = 0x0088,
  3544.     kSGSetChannelMaxFramesSelect                    = 0x0089,
  3545.     kSGGetChannelMaxFramesSelect                    = 0x008A,
  3546.     kSGSetChannelRefConSelect                        = 0x008B,
  3547.     kSGSetChannelClipSelect                            = 0x008C,
  3548.     kSGGetChannelClipSelect                            = 0x008D,
  3549.     kSGGetChannelSampleDescriptionSelect            = 0x008E,
  3550.     kSGGetChannelDeviceListSelect                    = 0x008F,
  3551.     kSGSetChannelDeviceSelect                        = 0x0090,
  3552.     kSGSetChannelMatrixSelect                        = 0x0091,
  3553.     kSGGetChannelMatrixSelect                        = 0x0092,
  3554.     kSGGetChannelTimeScaleSelect                    = 0x0093,
  3555.     kSGChannelPutPictureSelect                        = 0x0094,
  3556.     kSGChannelSetRequestedDataRateSelect            = 0x0095,
  3557.     kSGChannelGetRequestedDataRateSelect            = 0x0096,
  3558.     kSGChannelSetDataSourceNameSelect                = 0x0097,
  3559.     kSGChannelGetDataSourceNameSelect                = 0x0098,
  3560.     kSGInitChannelSelect                            = 0x0180,
  3561.     kSGWriteSamplesSelect                            = 0x0181,
  3562.     kSGGetDataRateSelect                            = 0x0182,
  3563.     kSGAlignChannelRectSelect                        = 0x0183,
  3564.     kSGPanelGetDitlSelect                            = 0x0200,
  3565.     kSGPanelGetTitleSelect                            = 0x0201,
  3566.     kSGPanelCanRunSelect                            = 0x0202,
  3567.     kSGPanelInstallSelect                            = 0x0203,
  3568.     kSGPanelEventSelect                                = 0x0204,
  3569.     kSGPanelItemSelect                                = 0x0205,
  3570.     kSGPanelRemoveSelect                            = 0x0206,
  3571.     kSGPanelSetGrabberSelect                        = 0x0207,
  3572.     kSGPanelSetResFileSelect                        = 0x0208,
  3573.     kSGPanelGetSettingsSelect                        = 0x0209,
  3574.     kSGPanelSetSettingsSelect                        = 0x020A,
  3575.     kSGPanelValidateInputSelect                        = 0x020B,
  3576.     kSGPanelSetEventFilterSelect                    = 0x020C,
  3577.     kSGGetSrcVideoBoundsSelect                        = 0x0100,
  3578.     kSGSetVideoRectSelect                            = 0x0101,
  3579.     kSGGetVideoRectSelect                            = 0x0102,
  3580.     kSGGetVideoCompressorTypeSelect                    = 0x0103,
  3581.     kSGSetVideoCompressorTypeSelect                    = 0x0104,
  3582.     kSGSetVideoCompressorSelect                        = 0x0105,
  3583.     kSGGetVideoCompressorSelect                        = 0x0106,
  3584.     kSGGetVideoDigitizerComponentSelect                = 0x0107,
  3585.     kSGSetVideoDigitizerComponentSelect                = 0x0108,
  3586.     kSGVideoDigitizerChangedSelect                    = 0x0109,
  3587.     kSGSetVideoBottlenecksSelect                    = 0x010A,
  3588.     kSGGetVideoBottlenecksSelect                    = 0x010B,
  3589.     kSGGrabFrameSelect                                = 0x010C,
  3590.     kSGGrabFrameCompleteSelect                        = 0x010D,
  3591.     kSGDisplayFrameSelect                            = 0x010E,
  3592.     kSGCompressFrameSelect                            = 0x010F,
  3593.     kSGCompressFrameCompleteSelect                    = 0x0110,
  3594.     kSGAddFrameSelect                                = 0x0111,
  3595.     kSGTransferFrameForCompressSelect                = 0x0112,
  3596.     kSGSetCompressBufferSelect                        = 0x0113,
  3597.     kSGGetCompressBufferSelect                        = 0x0114,
  3598.     kSGGetBufferInfoSelect                            = 0x0115,
  3599.     kSGSetUseScreenBufferSelect                        = 0x0116,
  3600.     kSGGetUseScreenBufferSelect                        = 0x0117,
  3601.     kSGGrabCompressCompleteSelect                    = 0x0118,
  3602.     kSGDisplayCompressSelect                        = 0x0119,
  3603.     kSGSetFrameRateSelect                            = 0x011A,
  3604.     kSGGetFrameRateSelect                            = 0x011B,
  3605.     kSGSetPreferredPacketSizeSelect                    = 0x0121,
  3606.     kSGGetPreferredPacketSizeSelect                    = 0x0122,
  3607.     kSGSetUserVideoCompressorListSelect                = 0x0123,
  3608.     kSGGetUserVideoCompressorListSelect                = 0x0124,
  3609.     kSGSetSoundInputDriverSelect                    = 0x0100,
  3610.     kSGGetSoundInputDriverSelect                    = 0x0101,
  3611.     kSGSoundInputDriverChangedSelect                = 0x0102,
  3612.     kSGSetSoundRecordChunkSizeSelect                = 0x0103,
  3613.     kSGGetSoundRecordChunkSizeSelect                = 0x0104,
  3614.     kSGSetSoundInputRateSelect                        = 0x0105,
  3615.     kSGGetSoundInputRateSelect                        = 0x0106,
  3616.     kSGSetSoundInputParametersSelect                = 0x0107,
  3617.     kSGGetSoundInputParametersSelect                = 0x0108,
  3618.     kSGSetAdditionalSoundRatesSelect                = 0x0109,
  3619.     kSGGetAdditionalSoundRatesSelect                = 0x010A,
  3620.     kSGSetFontNameSelect                            = 0x0100,
  3621.     kSGSetFontSizeSelect                            = 0x0101,
  3622.     kSGSetTextForeColorSelect                        = 0x0102,
  3623.     kSGSetTextBackColorSelect                        = 0x0103,
  3624.     kSGSetJustificationSelect                        = 0x0104,
  3625.     kSGGetTextReturnToSpaceValueSelect                = 0x0105,
  3626.     kSGSetTextReturnToSpaceValueSelect                = 0x0106,
  3627.     kSGGetInstrumentSelect                            = 0x0100,
  3628.     kSGSetInstrumentSelect                            = 0x0101,
  3629.     kQTVideoOutputGetDisplayModeListSelect            = 0x0001,
  3630.     kQTVideoOutputGetCurrentClientNameSelect        = 0x0002,
  3631.     kQTVideoOutputSetClientNameSelect                = 0x0003,
  3632.     kQTVideoOutputGetClientNameSelect                = 0x0004,
  3633.     kQTVideoOutputBeginSelect                        = 0x0005,
  3634.     kQTVideoOutputEndSelect                            = 0x0006,
  3635.     kQTVideoOutputSetDisplayModeSelect                = 0x0007,
  3636.     kQTVideoOutputGetDisplayModeSelect                = 0x0008,
  3637.     kQTVideoOutputCustomConfigureDisplaySelect        = 0x0009,
  3638.     kQTVideoOutputSaveStateSelect                    = 0x000A,
  3639.     kQTVideoOutputRestoreStateSelect                = 0x000B,
  3640.     kQTVideoOutputGetGWorldSelect                    = 0x000C,
  3641.     kQTVideoOutputGetGWorldParametersSelect            = 0x000D,
  3642.     kQTVideoOutputGetIndSoundOutputSelect            = 0x000E,
  3643.     kQTVideoOutputGetClockSelect                    = 0x000F,
  3644.     kQTVideoOutputSetEchoPortSelect                    = 0x0010
  3645. };
  3646.  
  3647.  
  3648. #if PRAGMA_STRUCT_ALIGN
  3649.     #pragma options align=reset
  3650. #elif PRAGMA_STRUCT_PACKPUSH
  3651.     #pragma pack(pop)
  3652. #elif PRAGMA_STRUCT_PACK
  3653.     #pragma pack()
  3654. #endif
  3655.  
  3656. #ifdef PRAGMA_IMPORT_OFF
  3657. #pragma import off
  3658. #elif PRAGMA_IMPORT
  3659. #pragma import reset
  3660. #endif
  3661.  
  3662. #ifdef __cplusplus
  3663. }
  3664. #endif
  3665.  
  3666. #endif /* __QUICKTIMECOMPONENTS__ */
  3667.  
  3668.